我们很高兴宣布今天发布ML.NET 1.0 。 ML.NET是一个免费的,跨平台的开源机器学习框架,旨在将机器学习(ML)的功能引入.NET应用程序。

https://github.com/dotnet/machinelearning
入门: http : //dot.net/ml
ML.NET允许您使用C#或F#训练,构建和交付自定义机器学习模型,以用于诸如情绪分析,问题分类,预测,建议等场景。 您可以在ML.NET示例存储库中查看这些常见的场景和任务。
ML.NET最初是在Microsoft Research内部开发的,后来演变为许多Microsoft产品使用的重要框架,例如Windows Defender,Microsoft Office(Powerpoint设计思想,Excel Chart建议),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应用程序中的最终工作流。 ML.NET 1.0提供以下关键组件:
- 数据表示
- 基本ML数据管道数据类型,例如IDataView-基本数据管道类型
- 读者支持从定界文本文件或IEnumerable对象中读取数据
- 支持机器学习任务:
- 二进制分类
- 多类别分类
- 回归
- 排名
- 异常检测
- 聚类
- 推荐(预览)
- 数据转换和功能化
- 文字内容
- 分类目录
- 功能选择
- 规范化和缺失值处理
- 图像特征化
- 时间序列(预览)
- 支持ONNX和TensorFlow模型集成(预览)
- 其他
- 模型的理解和可解释性
- 用户定义的自定义转换
- 模式操作
- 支持数据集操作和交叉验证
自动化机器学习预览
今天的机器学习入门涉及陡峭的学习曲线。 在建立自定义机器学习模型时,您必须弄清楚要为您的场景选择哪种机器学习任务(即分类还是回归?),将数据转换为ML算法可以理解的格式(例如,文本数据->数值向量),并微调这些ML算法以提供最佳性能。 如果您是ML的新手,那么每个步骤都可能令人生畏!
自动化机器学习通过自动确定如何转换输入数据并通过正确的设置选择性能最佳的ML算法,从而使您轻松构建ML,从而轻松构建一流的定制ML模型。
ML.NET中的AutoML支持处于预览状态,并且我们当前支持回归(用于价格预测等场景)和分类(用于情感分析,文档分类,垃圾邮件检测等场景)ML任务。
您可以使用ML.NET Model Builder,ML.NET CLI或直接使用AutoML API (可在此处找到示例 )以三种形式尝试ML.NET中的AutoML体验。
对于机器学习的新用户,我们建议从Visual Studio中的ML.NET Model Builder和任何平台上的ML.NET CLI开始。 AutoML API对于要动态构建模型的场景也非常方便。
模型制作器预览
为了简化.NET开发人员构建ML模型的过程,我们今天也很高兴宣布ML.NET Model Builder。 使用ML.NET模型构建器,只需右键单击即可向您的应用程序添加机器学习!
模型构建器是面向开发人员的简单UI工具,它使用AutoML使用您提供的数据集构建最佳的ML模型。 除此之外,Model Builder还为最佳性能模型生成模型训练和模型使用代码,使您可以快速将ML添加到现有应用程序中。

了解有关ML.NET 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的简单附加组件。 模型构建器Visual Studio扩展还使用ML.NET CLI提供模型构建器功能。
您可以通过此命令安装ML.NET CLI。
dotnet tool install -g mlnet
下图显示了ML.NET CLI构建情感分析数据集。

了解有关ML.NET CLI的更多信息
ML.NET CLI也正在预览中,我们非常希望您能尝试一下并在下面分享您的想法!
开始吧!
如果您还没有开始学习ML.NET,那么这很容易,您可以按照以下几个简单的步骤进行操作。 下面的示例显示了如何使用ML.NET进行情感分析 。
您还可以探索各种其他学习资源,例如ML.NET的教程和资源,以及ML.NET示例,这些示例演示了流行的场景,例如产品推荐,异常检测以及更多实际应用。
ML.NET的下一步
尽管我们很高兴今天发布ML.NET 1.0,但是该团队已经在努力为ML.NET 1.0版以下版本启用以下功能。
- 有关其他ML场景的AutoML经验
- 改进了对深度学习场景的支持
- 支持其他其他来源,例如SQL Server,CosmosDB,Azure Blob存储等。
- 在Azure上横向扩展以进行模型训练和使用
- 使用模型构建器和CLI时支持其他ML场景和功能
- 与适用于Apache Spark和ML.NET的.NET进行大规模机器学习的本机集成
- .NET中的新ML类型,例如DataFrame