微软发布ML.NET 1.0
原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/
我们很高兴地宣布今天发布ML.NET 1.0。 ML.NET是一个免费的,跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET应用程序。
https://github.com/dotnet/machinelearning
ML.NET允许您使用C#或F#训练,构建和发布自定义机器学习模型,用于情景分析,问题分类,预测,推荐等场景。您可以在我们的ML.NET示例仓库中查看这些常见的场景和任务 。
ML.NET最初是在微软研究院开发的,并且演变成许多Microsoft产品使用的重要框架,例如Windows Defender,Microsoft Office(Powerpoint设计灵感,Excel图表推荐),Azure机器学习,PowerBI关键影响者等等!
自从推出以来,许多组织都在使用ML.NET,如SigParser(垃圾邮件检测), William Mullens(法律问题分类)和Evolution软件(榛子水分检测)。您可以在我们的ML.NET客户展示中使用ML.NET跟踪这些和许多其他组织的旅程。这些用户告诉我们,ML.NET的易用性,重用.NET技能的能力以及将其技术堆栈完全保留在.NET中是他们使用ML.NET的主要驱动因素。
除了ML.NET 1.0版本,我们还添加了新的预览功能,如自动机器学习(AutoML)的强大功能和ML.NET CLI和ML.NET Model Builder等新工具,这意味着现在可以只需点击右键就可以为您的应用程序添加机器学习模型!

本文的其余部分重点介绍这些新体验。
ML.NET核心组件
ML.NET旨在提供终端工作流程,以便在机器学习(预处理,特征工程,建模,评估和操作)的各个步骤中将ML用于.NET应用程序。ML.NET 1.0提供以下关键组件:
- 数据表示
- 基本ML数据管道数据类型,如IDataView - 基本数据管道类型
- 支持从分隔文本文件或IEnumerable对象中读取数据
- 支持机器学习任务:
- 二进制分类
- 多级分类
- 回归
- 排行
- 异常检测
- 聚类
- 推荐(预览)
- 数据转换和特色化
- 文本
- 分类
- 特征选择
- 规范化和缺失值处理
- 图像特征化
- 时间序列(预览)
- 支持ONNX和TensorFlow模型集成(预览)
- 其他
- 模型理解和解释
- 用户定义的自定义转换
- 架构操作
- 支持数据集操作和交叉验证
自动机器学习预览
如今,机器学习入门涉及陡峭的学习曲线。在构建自定义机器学习模型时,您必须确定为您的场景选择哪个机器学习任务(即分类或回归?),将您的数据转换为ML算法可以理解的格式(例如文本数据 - >数字向量),并微调这些ML算法以提供最佳性能。如果您是ML的新手,这些步骤中的每一步都会非常艰巨!
自动机器学习通过自动确定如何转换输入数据并选择性能最佳的机器学习算法,使您能够轻松构建一流的自定义机器学习模型,使您的机器学习之旅更加简单。
ML.NET中的AutoML支持处于预览阶段,我们目前支持回归(用于价格预测等场景)和分类(用于情感分析,文档分类,垃圾邮件检测等场景)机器学习任务。
您可以使用ML.NET Model Builder,ML.NET CLI或直接使用AutoML API (可在此处找到例子),以三种形式在ML.NET中试用AutoML体验。
对于不熟悉机器学习的用户,我们建议从Visual Studio中的ML.NET模型构建器和任何平台上的ML.NET CLI开始。AutoML API对于您想要动态构建模型的场景也非常方便。
模型生成器预览
为了简化.NET开发人员构建ML模型的过程,我们今天也很高兴地宣布ML.NET模型构建器。使用ML.NET模型构建器,只需右键单击即可将机器学习添加到您的应用程序中!
Model Builder是一个简单的UI工具,供开发人员使用AutoML使用您提供的数据集构建最佳的ML模型。除此之外,Model Builder还为最佳性能模型生成模型培训和模型消耗代码,允许您快速将ML添加到现有应用程序中。
Model Builder目前处于预览阶段,我们很乐意为您试用并告诉我们您的想法!
ML.NET CLI预览
ML.NET CLI(命令行界面)是我们今天推出的另一个新工具!
ML.NET CLI是一个dotnet工具,允许使用AutoML和ML.NET生成ML.NET模型。ML.NET CLI快速遍历您的数据集以获取特定的ML任务(目前支持回归和分类)并生成最佳模型。
CLI除了生成最佳模型外,还允许用户为最佳性能模型生成模型培训和模型消耗代码。
ML.NET CLI是跨平台的,是.NET CLI的简单附件。Model Builder Visual Studio扩展还使用ML.NET CLI提供模型构建器功能。
您可以通过此命令安装ML.NET CLI。
dotnet tool install -g mlnet
下图显示了ML.NET CLI构建情感分析数据集。
ML.NET CLI目前也处于预览状态,我们很乐意为您提供试用,并在下面分享您的想法!
开始吧!
如果你还没有,开始使用ML.NET很简单,你可以通过几个简单的步骤来完成,如下所示。下面的示例显示了如何使用ML.NET执行情绪分析。
//Step 1. Create a ML Context
var ctx = new MLContext();
//Step 2. Read in the input data for model training
IDataView dataReader = ctx.Data
.LoadFromTextFile<MyInput>(dataPath, hasHeader: true);
//Step 3. Build your estimator
IEstimator<ITransformer> est = ctx.Transforms.Text
.FeaturizeText("Features", nameof(SentimentIssue.Text))
.Append(ctx.BinaryClassification.Trainers
.LbfgsLogisticRegression("Label", "Features"));
//Step 4. Train your Model
ITransformer trainedModel = est.Fit(dataReader);
//Step 5. Make predictions using your model
var predictionEngine = ctx.Model
.CreatePredictionEngine<MyInput, MyOutput>(trainedModel);
var sampleStatement = new MyInput { Text = "This is a horrible movie" };
var prediction = predictionEngine.Predict(sampleStatement);
您还可以探索各种其他学习资源,如ML.NET的教程和资源,以及ML.NET示例,演示产品推荐,异常检测和更多实际操作等流行方案。
ML.NET的下一步是什么
虽然我们非常高兴今天发布ML.NET 1.0,但团队已经在努力为ML.NET 1.0版发布以下功能。
- 其他机器学习场景的AutoML体验
- 改进了对深度学习场景的支持
- 支持其他其他来源,如SQL Server,CosmosDB,Azure Blob存储等。
- 在Azure上横向扩展以进行模型培训和消费
- 使用模型构建器和CLI时,支持其他ML方案和功能
- 用于Apache Spark和ML.NET的.NET大规模机器学习的本机集成
- .NET中的新ML类型,例如DataFrame
你帮忙建了它
特别呼吁这些令人惊叹的贡献者,他们与我们一起开始使用ML.NET为.NET开发人员提供机器学习。
amiteshenoy, beneyal, bojanmisic, Caraul, dan-drews, DAXaholic, dhilmathy, dzban2137, elbruno, endintiers, f1x3d,feiyun0112, forki, harshsaver,
helloguo, hvitved, Jongkeun, JorgeAndd, JoshuaLight, jwood803, kant2002, kilick, Ky7m,llRandom, malik97160, MarcinJuraszek, mareklinka,
Matei13, mfaticaearnin, mnboos, nandaleite, Nepomuceno nihitb06,Niladri24dutta, PaulTFreedman, Pielgrin, pkulikov, Potapy4, Racing5372,
rantri, rantri, rauhs, robosek, ross-p-smith, SolyarA,Sorrien, suhailsinghbains, terop, ThePiranha, Thomas-SB, timitoc, tincann, v-tsymbalistyi,
van-tienhoang, veikkoeeva和yamachu
如果您还没有,请试试ML.NET!
您的反馈对于我们帮助塑造ML.NET并使.NET成为机器学习的绝佳平台至关重要。
谢谢,
ML.NET团队
微软发布ML.NET 1.0的更多相关文章
- 微软发布.Net Core 3.0 RC1,最终版本定于9月23日
2019.9.17 微软 宣布推出.NET Core 3.0 Release Candidate 1.就像Preview 9一样,主要专注于为 .NET Core 3.0 发布最终版本 .现在变得非常 ...
- 关于ML.NET v1.0 的发布说明
今天,我们很高兴宣布发布 ML.NET 1.0.ML.NET 是一个免费的.跨平台的开源机器学习框架,旨在将机器学习(ML)的强大功能引入.NET 应用程序. ML.NET GitHub:https: ...
- 关于ML.NET v1.0 RC的发布说明
ML.NET是面向.NET开发人员的开源和跨平台机器学习框架(Windows,Linux,macOS).使用ML.NET,开发人员可以利用他们现有的工具和技能组,通过为情感分析,推荐,图像分类等常见场 ...
- .NET Conf 2019 大会上发布.NET Core 3.0
北京时间今天凌晨如期在.NET Conf 上发布.NET Core 3.0,Keynotes 由Scott Hunter 主演,主要围绕.NET Core 3.0的新特性和社区展开. 多功能性是.Ne ...
- 微软发布了开发社区采用.NET Standard的最新信息
最近,微软发布了开发社区当前采用.NET Standard的最新信息..NET Standard是API的正式规范,现有.NET实现在不同平台的是通用的(从而允许跨平台开发).当前规范(版本2.0)在 ...
- 微软重制Windows 1.0系统:祖师爷出山了
Windows官方推特在7月1日发布了一条很有趣的动态,“向大家介绍全新的Windows 1.0,带MS-DOS.时钟等”.配发的视频回顾了从Windows 1.0/3.1到Windows 10期间, ...
- 微软发布独立Android模拟器 为开发者提供测试
微软发布了 Visual Studio 2015 正式版,除了免费的社交版之外,另外也有付费的专业版.这套工具除了提供 Windows 应用程序的整合环境之外,你也可以利用它来开发 Android 程 ...
- 微软发布屏蔽Win10升级的官方办法
微软发布屏蔽Win10升级的官方办法 导读 微软似乎从来就没有像现在这么焦燥过,当然了,攸关生死,他要还是能"蛋"定得住,那才真叫怪了.你看,为了推广Windows 10,一向傲娇 ...
- 微软 microsoft calendar control 11.0 控件下载
微软 microsoft calendar control 11.0 控件下载 https://files.cnblogs.com/files/mqingqing123/csccal2.rar
随机推荐
- 【Android - 自定义View】之View的事件分发机制
参考资料: View事件分发:http://blog.csdn.net/pi9nc/article/details/9281829 ViewGroup事件分发:http://blog.csdn.net ...
- Java标识符(Identifier)(关键字和保留字)
Java标识符(Identifier) 1. 只能由英文字母(A~Z)或(a~z).下划线(_).美元符号($)和数字(0~9)组成,且开头不能为数字. 2. 区分大小写! 3. 无长度限制! _3_ ...
- postgresql密码加强-passwordcheck源码修改三种以上字符
目录 1.使用方式 2.效果 3.源码修改 1.参考pg_cron的源码在配置文件内增加一个参数 2.修改源码配置校验数字 因数据库入网检测须修改密码级别,在源有的passwordcheck插件上进行 ...
- ActiveMQ配置策略
1.消息发送 1.异步发送 消息生产者使用持久(persistent)传递模式发送消息的时候,Producer.send() 方法会被阻塞,直到 broker 发送一个确认消息给生产者,这个确认消息暗 ...
- 转:Connection reset原因分析和解决方案
在使用HttpClient调用后台resetful服务时,“Connection reset”是一个比较常见的问题,有同学跟我私信说被这个问题困扰很久了,今天就来分析下,希望能帮到大家.例如我们线上的 ...
- 超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
在2018年年初,Jenkins X首次发布,它由Apache Groovy语言的创建者Jame Strachan创建.Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins ...
- [TimLinux] Python学习内容框架
以下内容主体来自<Python学习手册第四版>,大致整理出的方向 1. 第一部分:使用入门 介绍Python语法之前,先对Python的的各个方面进行一个比较宽广的介绍,包含对Python ...
- CF296C Greg and Array 查分数组
题目链接:http://codeforces.com/problemset/problem/296/C 题意:给你n.m.k,表示n个数a[i],m个对数的操作,k个对操作的操作.m个操作:数a[l] ...
- 2017 ACM/ICPC 沈阳 F题 Heron and his triangle
A triangle is a Heron’s triangle if it satisfies that the side lengths of it are consecutive integer ...
- Selenium之单选框操作
单选框操作: 何为单选框?就是永远只能选中一个选项的意思.一般单选框的图标都是呈圆形的.我们通过selenium可直接定位到被选中的选项上,然后用click方法实现点击. 下面附上一段rb.html代 ...