我们最近宣布发布
ML.NET 1.0 。
ML.NET是一个免费的,跨平台的开放式机器学习框架,旨在利用.NET应用程序中的机器学习(ML)功能。
github.com/dotnet/machinelearning开始:
dot.net/mlML.NET允许您使用C#或F#训练,创建和交付自定义的机器学习模型,以用于诸如情绪分析,问题分类,预测,建议以及许多其他场景。 您可以在
示例ML.NET示例存储库中查看这些常见方案和任务。
ML.NET最初是作为Microsoft Research的一部分开发的,但后来变成了许多Microsoft产品使用的重要框架,例如Windows Defender,Microsoft Office(PowerPoint中的设计思想,Excel中的推荐图表),Azure机器学习,关键因素的可视化在PowerBI中的影响力等等!
自发布以来,ML.NET已被许多组织使用,例如SigParser
(检测电子邮件中的垃圾邮件) ,
William Mullens(法律问题分类)和
Evolution Software(确定榛子湿度) 。 您可以在
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 CLI(预览版)
- ML.NET入门
- 前进的道路
ML.NET的关键组件
ML.NET旨在提供在机器学习的各个阶段(预处理,设计功能,建模,评估和调试)在.NET应用程序中使用ML的最终工作流程。 ML.NET 1.0提供以下关键组件:
- 资料呈现
- 基本ML数据管道数据类型,例如IDataView (是基本的数据管道类型)
- 读者支持从定界文本文件或IEnumerable对象中读取数据
- 支持机器学习任务:
- 二进制分类
- 多类别分类
- 回归
- 排名
- 异常检测
- 聚类
- 推荐(预览)
- 数据转换和功能化
- 文字内容
- 分类目录
- 功能选择
- 归一化和缺失值处理
- 图像特征化
- 时间序列(预览)
- 支持ONNX和TensorFlow模型的集成(预览)
- 其他
- 理解和解释性模型
- 用户定义的自定义转换
- 操作图
- 支持数据集处理和交叉验证
自动化机器学习(预览)
今天的机器学习入门包括陡峭的学习曲线。 在构建自定义机器学习模型时,您需要弄清楚为场景选择哪种机器学习任务(例如,分类还是回归?),如何将数据转换为ML算法可以理解的格式(例如,文本数据->数值向量),以及调整这些ML算法以获得最佳性能。 如果您是ML的新手,那么每个步骤都会非常困难!
自动化机器学习可自动找出如何转换输入数据并通过正确的设置选择最佳的ML算法,从而简化创建最佳自定义ML模型的过程,从而简化ML的旅程。
ML.NET中的AutoML支持现在处于预览模式,目前我们仅支持主要的ML任务-回归(用于价格预测等脚本)和分类(用于情感分析,文档分类,垃圾邮件检测等)。
您可以通过以下三种形式尝试ML.NET中的AutoML:使用ML.NET模型生成器,ML.NET CLI或直接使用AutoML API(
可在此处找到示例 )。
对于机器学习的初学者,我们建议从Visual Studio中的ML.NET Model Builder和任何平台上的ML.NET CLI开始。 对于要在其中动态创建模型的脚本,AutoML API也非常方便。
模型生成器(预览)
为了简化.NET开发人员创建ML模型的路径,我们也很高兴介绍ML.NET Model Builder。 借助ML.NET Model Builder,现在只需单击鼠标右键即可为您的应用程序添加机器学习功能!
对于使用AutoML通过提供的数据集创建同类最佳的ML模型的开发人员而言,Model Builder是一个简单的UI工具。 除此之外,Model Builder还为最有效的模型生成模型训练和模型使用代码,使您可以快速将ML添加到现有应用程序中。
了解有关ML.NET Model Builder的更多信息Model Builder目前处于第一模式,我们希望您尝试一下并与我们分享您的意见!
ML.NET CLI(预览版)
ML.NET CLI(命令行界面)是我们引入的另一个新工具!
ML.NET CLI是一个点网工具,可让您使用AutoML和ML.NET生成ML.NET模型。 ML.NET CLI还可以针对特定的ML任务快速迭代您的数据集(当前支持回归和分类),并创建最佳模型。
CLI除了创建最佳模型外,还允许用户生成模型训练和模型使用代码以创建最有效的模型。
ML.NET CLI是.NET CLI的跨平台且简单的插件。 顺便说一句,Visual Studio的Model Builder扩展还使用ML.NET CLI提供功能。
您可以通过以下命令安装ML.NET CLI:
dotnet tool install -g mlnet
下面的gif图片显示了ML.NET CLI,该ML.NET CLI创建了用于情感分析的数据集。
了解有关ML.NET CLI的更多信息ML.NET CLI也在第一模式下,我们希望您尝试一下并与我们分享您的意见!
立即开始!
如果您尚未这样做,那么请注意:ML.NET入门很容易,并且只需几个简单的步骤即可完成,如下所示。 下面的示例
显示了如何使用ML.NET进行情感分析 。
您还可以探索各种其他教育资源,例如
教程,ML.NET的资源以及展示流行方案(例如产品推荐,异常检测等)的
ML.NET示例 。
ML.NET接下来会发生什么
尽管我们非常高兴地发布ML.NET 1.0,但我们的团队已经在努力在1.0发行后加入以下功能:
- 用于可选ML脚本的AutoML
- 改进的深度学习脚本支持
- 支持其他其他来源,例如SQL Server,CosmosDB,Azure Blob存储等。
- Azure扩展以进行模型训练和模型使用
- 使用模型构建器和CLI时支持其他脚本和ML功能
- 与用于Apache Spark和ML.NET的.NET进行基于比例的机器学习的本机集成
- .NET中的新ML类型,例如DataFrame