.NET开发人员关于ML.NET的入门学习
更新时间:2019年05月20日 12:53:55 作者:张善友
随着谷歌,Facebook发布他们的工具机器学习工具Tensorflow 2和PyTorch,微软也发布了ML.NET 1.0。可以说2019年是机器学习社区普及化的一年,下面小编向大家简单介绍一下关于ML.NET的入门学习
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 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。
您可能感兴趣的文章:win7-vs2012下安装.net frame work 的过程图文详解.NET Core Dapper操作mysql数据库的实现方法打造自己的.NET Core项目模板浅谈从ASP.NET Core2.2到3.0你可能会遇到这些问题ASP.NET Core MVC/WebApi基础系列2ASP.NET Core MVC/WebApi基础系列1
ML.NET
相关文章
详解ASP.NET页面生命周期这篇文章主要为大家介绍了ASP.NET页面生命周期,熟悉页面生命周期非常重要,这样我们才能在生命周期的合适阶段编写代码,需要的朋友可以参考下 2015-12-12
vs2008 安装失败的总结与分享今天系统是刚装的,今儿个也不是第一次装系统,也不是第一次装vs2008了,遇上vs2008安装出错倒是头一回。
2010-01-01
asp.net core中灵活的配置方式详解这篇文章主要给的阿加介绍了关于在asp.net core中灵活的配置方式的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来学习学习吧。 2017-07-07
ASP.NET 6种常用数据库的连接方法有Access,SQL Server,Oracle,MySQL,IBM DB2 ,SyBase 等6种数据库的连接方法,有需要的朋友请往下看
2013-03-03
MVC数据验证详解这篇文章主要为大家详细介绍了MVC数据验证的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-06-06
ASP.NET MVC下拉框联动实例解析这篇文章主要为大家详细介绍了ASP.NET MVC下拉框联动实现方法,感兴趣的小伙伴们可以参考一下 2016-07-07
ASP.NET 前台javascript与后台代码调用ASP.NET中前台javascript与后台代码调用的实现代码说明。 2009-08-08
.NET Core源码解析配置文件及依赖注入这篇文章我们设计了一些复杂的概念,因为要对ASP.NET Core的启动及运行原理、配置文件的加载过程进行分析,依赖注入,控制反转等概念的讲解等 2019-04-04
ASP.NET Core静态文件使用教程(9)这篇文章主要为大家详细介绍了ASP.NET Core静态文件的使用教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 2017-06-06
ASP.NET对大文件上传的解决方案在ASP.NET 开发的过程中,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的做到多线程的操控和上传进度的显示。笔者在此给大家推荐一款简单易用的上传组件,从而快速便捷得解决了 ASP.NET 中的大文件上传问题。
2015-08-08
最新评论

评论(0)