.NET开发人员如何开始使用ML.NET
随着谷歌,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相关推荐
- 华为ai开发套件_使用华为ml套件图像分割构建背景橡皮擦应用
华为ai开发套件 Image segmentation is a widely used term in image processing and computer vision world. It ...
- 介绍ML.NET——面向.NET开发人员的机器学习库
目录 介绍 背景 二元分类问题 创建.NET应用程序并安装ML.NET库 使用代码 培训数据 数据类 创建和训练ML模型 评估模型 测试模型 兴趣点 介绍 大多数常见的机器学习(ML)库都是用Pyth ...
- react项目开发步骤_成为专业React开发人员的31个步骤
react项目开发步骤 我为达到可雇用水平而进行的每个项目和课程. (Every single project and course I took to reach a hireable level. ...
- 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...
软件开发向大数据开发过渡 by Cecelia Shao 邵Ce It seems like everyone wants to be a data scientist these days - fr ...
- NET 5是.NET的未来:每个.Net开发人员必须知道什么
NET 5是.NET的未来 我们围绕其流行的开源Web开发框架,对微软的最新公告进行了巅峰报道. 微软在Build 2019大会上宣布了新的.NET 5(.NET的未来). .NET 5将是用于构建在 ...
- AI开发人员使用频率最高的10个机器学习平台!
导 语 机器学习平台正在蓬勃发展.开发人员需要知道如何以及何时使用他们.在机器学习环境中工作,使用像Filestack这样的合适工具的同时,可以使开发人员更容易创建一个能够发挥其功能的高效算法.以下机 ...
- Scikit-learn 核心开发人员专访:建立机器学习工作流最容易犯这2点错误
导语:Scikit learn的开发者分享了3种实用的ML技术 本文是一篇对 Scikit-learn 开发者的专访,原载于 towardsdatascience,AI 开发者编译整理,采访内容如下文 ...
- 心得丨在人工智能领域, 开发人员需要什么技能?
为了收集有关人工智能(AI)及其所有变体(包括机器学习(ML),深度学习(DL),自然语言处理(NLP),预测分析和多重神经网络)情况的见解,我们与22位熟悉人工智能领域的高管进行对话. 我们向他们询 ...
- asp用于取代什么技术_.NET的未来:关于.NET5,每个.Net开发人员必须知道什么
原标题:.NET的未来:关于.NET5,每个.Net开发人员必须知道什么 NET 5是.NET的未来 微软在Build 2019大会上宣布了新的.NET 5(.NET的未来). .NET 5将是用于构 ...
最新文章
- C#编码标准--编码习惯
- 64位Linux下安装mysql-5.7.13-linux-glibc2.5-x86_64 || 转载:http://www.cnblogs.com/gaojupeng/p/5727069.html
- jQuery mobile 之三
- Java 字节和字符流的读写+Buffered
- spring-security-学习笔记-01-基本概念
- 五款程序员专用辅助编程工具
- ajax.request提交,ajax request 请求
- linux配置iscsi无账号密码,linux配置ISCSI服务器的方法
- Docker for Windows 中文文档(3)——Docker Settings
- Apache Kylin 与 ClickHouse 的对比
- TensorFlow保存或加载训练的模型
- Mysql数据备份与mysqldump增量备份
- mysql权限查看_教您如何查看MySQL用户权限
- 如何通过几何画板学这些定理
- 通过淘宝司法拍卖购买房子,需要注意些什么?
- ESP8266开发板刷WI-PWN固件(wifi杀手)教程(详细)
- 消息队列——RabbitMQ消息队列集群
- 软件项目规模评估方法之软件源代码行法
- 跨境知道快讯:Anker出新招,一个月进账600万美金
- android手机黑科技软件,4款安卓手机黑科技APP,功能非常牛逼,希望大家谨慎使用...