随着谷歌,Facebook发布他们的工具机器学习工具Tensorflow 2和PyTorch ,微软的CNTK 2.7之后不再继续更新(https://docs.microsoft.com/zh-cn/cognitive-toolkit/releasenotes/cntk_2_7_release_notes),Build 2019 微软也发布了ML.NET 1.0 ,这是一个面向机器学习开发者的新框架。可以说2019年是机器学习社区普及化的一年,所有的这些发布清楚地表明了IT行业的发展方向。从数据集改进模型到新的模型更新,以及优化硬件。

ML.NET一直在微软的研究部门的工作。这些创新已经用于他们自己的产品,如Windows Defender,Microsoft Office(Powerpoint设计理念,Excel图表推荐),Azure机器学习,PowerBI。 ML.NET旨在提供终端工作流程,以便在机器学习(预处理,特征工程,建模,评估和操作)的各个步骤中将ML用于.NET应用程序。

ML.NET 1.0提供以下关键组件:

  • 数据表示

  • 机器学习任务(分类,回归,异常检测等)

  • 数据特征工程

机器学习模型应该让分析师的生活更轻松,现在甚至可以构建这些模型,因为新框架的设计考虑了AutoML。除了通常的机器学习任务外,ML.NET还支持AutoML。

对于机器学习初学者,Microsoft开发人员建议从Visual Studio中的ML.NET模型构建器和任何平台上的ML.NET CLI开始。对于可以随时构建模型的场景,AutoML API也非常方便。

使用ML.NET模型构建器,只需右键单击即可向应用程序添加机器学习。

资料来源:微软

在命令行使用ML.NET

还引入了另一个工具ML.NET CLI(命令行工具),它允许使用AutoML和ML.NET生成ML.NET模型。ML.NET CLI快速遍历特定ML任务的数据集(目前支持回归和分类)并生成最佳模型。

CLI除了生成最佳模型外,还允许用户为最佳性能模型生成模型训练和 消费模型代码。

ML.NET CLI是跨平台的,是.NET CLI 的全局工具。Visual Studio扩展ML.NET Model Builder 还使用ML.NET CLI提供模型构建器功能。

安装ML.NET CLI:

dotnet tool install -g mlnet

这是使用回归预测出租车票价的代码

加载数据集

IDataView trainingDataView = mlContext.Data.LoadFromTextFile(TrainDataPath, hasHeader: true);

IDataView testDataView = mlContext.Data.LoadFromTextFile(TestDataPath, hasHeader: true);

运行AutoML二进制分类

ExperimentResult experimentResult = mlContext.Auto().CreateRegressionExperiment(ExperimentTime).Execute(trainingDataView, LabelColumnName, progressHandler: new RegressionExperimentProgressHandler());

模型评估

ITransformer model = experimentResult.BestRun.Model;

并使用测试数据集评估其质量(taxi-fare-test.csv)。

Regression.Evaluate() 计算已知票价与模型预测值之间的差异,以生成各种指标。

var predictions = trainedModel.Transform(testDataView);

var metrics = mlContext.Regression.Evaluate(predictions,scoreColumnName:“Score”);

创建预测引擎

var predEngine = mlContext.Model.CreatePredictionEngine<TaxiTrip, TaxiTripFarePrediction>(model);

计算分数

var predictedResult = predEngine.Predict(taxiTripSample);

上面是使用Visual Studio内部的模型构建器以及CLI命令测试AutoML,还有一个API可以在.Net应用程序中使用它,使用非常简单,添加[ Microsoft.ML.AutoML ] nuget包到项目中就可以使用API 进行工作

ML.Net示例仓库中有一整套示例。可以重用了Common文件夹中的一些类来通过API使用AutoML 。

参考

  • 如何使用ML.NET自动化机器学习API

  • 使用CLI自动生成二进制分类器

  • 机器学习模型生成器

  • 如何安装ML.NET命令行界面(CLI)工具

相关文章:

  • ML.NET机器学习、API容器化与Azure DevOps实践(一):简介

  • ML.NET机器学习、API容器化与Azure DevOps实践(二):案例

  • ML.NET机器学习、API容器化与Azure DevOps实践(三):RESTful API

  • ML.NET机器学习、API容器化与Azure DevOps实践(四):持续集成与k8s持续部署


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

.NET开发人员如何开始使用ML.NET相关推荐

  1. 华为ai开发套件_使用华为ml套件图像分割构建背景橡皮擦应用

    华为ai开发套件 Image segmentation is a widely used term in image processing and computer vision world. It ...

  2. 介绍ML.NET——面向.NET开发人员的机器学习库

    目录 介绍 背景 二元分类问题 创建.NET应用程序并安装ML.NET库 使用代码 培训数据 数据类 创建和训练ML模型 评估模型 测试模型 兴趣点 介绍 大多数常见的机器学习(ML)库都是用Pyth ...

  3. react项目开发步骤_成为专业React开发人员的31个步骤

    react项目开发步骤 我为达到可雇用水平而进行的每个项目和课程. (Every single project and course I took to reach a hireable level. ...

  4. 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...

    软件开发向大数据开发过渡 by Cecelia Shao 邵Ce It seems like everyone wants to be a data scientist these days - fr ...

  5. NET 5是.NET的未来:每个.Net开发人员必须知道什么

    NET 5是.NET的未来 我们围绕其流行的开源Web开发框架,对微软的最新公告进行了巅峰报道. 微软在Build 2019大会上宣布了新的.NET 5(.NET的未来). .NET 5将是用于构建在 ...

  6. AI开发人员使用频率最高的10个机器学习平台!

    导 语 机器学习平台正在蓬勃发展.开发人员需要知道如何以及何时使用他们.在机器学习环境中工作,使用像Filestack这样的合适工具的同时,可以使开发人员更容易创建一个能够发挥其功能的高效算法.以下机 ...

  7. Scikit-learn 核心开发人员专访:建立机器学习工作流最容易犯这2点错误

    导语:Scikit learn的开发者分享了3种实用的ML技术 本文是一篇对 Scikit-learn 开发者的专访,原载于 towardsdatascience,AI 开发者编译整理,采访内容如下文 ...

  8. 心得丨在人工智能领域, 开发人员需要什么技能?

    为了收集有关人工智能(AI)及其所有变体(包括机器学习(ML),深度学习(DL),自然语言处理(NLP),预测分析和多重神经网络)情况的见解,我们与22位熟悉人工智能领域的高管进行对话. 我们向他们询 ...

  9. asp用于取代什么技术_.NET的未来:关于.NET5,每个.Net开发人员必须知道什么

    原标题:.NET的未来:关于.NET5,每个.Net开发人员必须知道什么 NET 5是.NET的未来 微软在Build 2019大会上宣布了新的.NET 5(.NET的未来). .NET 5将是用于构 ...

最新文章

  1. C#编码标准--编码习惯
  2. 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64 || 转载:http://www.cnblogs.com/gaojupeng/p/5727069.html
  3. jQuery mobile 之三
  4. Java 字节和字符流的读写+Buffered
  5. spring-security-学习笔记-01-基本概念
  6. 五款程序员专用辅助编程工具
  7. ajax.request提交,ajax request 请求
  8. linux配置iscsi无账号密码,linux配置ISCSI服务器的方法
  9. Docker for Windows 中文文档(3)——Docker Settings
  10. Apache Kylin 与 ClickHouse 的对比
  11. TensorFlow保存或加载训练的模型
  12. Mysql数据备份与mysqldump增量备份
  13. mysql权限查看_教您如何查看MySQL用户权限
  14. 如何通过几何画板学这些定理
  15. 通过淘宝司法拍卖购买房子,需要注意些什么?
  16. ESP8266开发板刷WI-PWN固件(wifi杀手)教程(详细)
  17. 消息队列——RabbitMQ消息队列集群
  18. 软件项目规模评估方法之软件源代码行法
  19. 跨境知道快讯:Anker出新招,一个月进账600万美金
  20. android手机黑科技软件,4款安卓手机黑科技APP,功能非常牛逼,希望大家谨慎使用...

热门文章

  1. 在Windows Media Center中收听超过100,000个广播电台
  2. 还原出厂设置 擦除frp_如何备份,擦除和还原Apple Watch
  3. Java编程思想 学习笔记1
  4. linux下A免密码登录B
  5. (笔试题)和0交换的排序
  6. HelloSilverlight
  7. /etc/sudoers中的含义
  8. Nginx server之Nginx作为反向代理服务器
  9. 在C#中使用SQLite
  10. C# StreamReader类和StreamWriter类