.NET开发人员关于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 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:docker部署Asp.net core应用的完整步骤
栏 目:ASP.NET
下一篇:.NET Core 迁移躺坑记续集之Win下莫名其妙的超时
本文地址:https://www.xiuzhanwang.com/a1/ASP_NET/10930.html
您可能感兴趣的文章
- 01-11vscode extension插件开发详解
- 01-11VsCode插件开发之插件初步通信的方法步骤
- 01-11如何给asp.net core写个简单的健康检查
- 01-11浅析.Net Core中Json配置的自动更新
- 01-11.net core高吞吐远程方法如何调用组件XRPC详解
- 01-11.NET Core 迁移躺坑记续集之Win下莫名其妙的超时
- 01-11docker部署Asp.net core应用的完整步骤
- 01-11.net core webapi jwt 更为清爽的认证详解
- 01-11ASP.NET Core静态文件的使用方法
- 01-11.NET Core 3.0之创建基于Consul的Configuration扩展组件
阅读排行
本栏相关
- 01-11vscode extension插件开发详解
- 01-11VsCode插件开发之插件初步通信的方法
- 01-11如何给asp.net core写个简单的健康检查
- 01-11.net core高吞吐远程方法如何调用组件
- 01-11浅析.Net Core中Json配置的自动更新
- 01-11.NET开发人员关于ML.NET的入门学习
- 01-11.NET Core 迁移躺坑记续集之Win下莫名其
- 01-11.net core webapi jwt 更为清爽的认证详解
- 01-11docker部署Asp.net core应用的完整步骤
- 01-11ASP.NET Core静态文件的使用方法
随机阅读
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10SublimeText编译C开发环境设置
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 04-02jquery与jsp,用jquery
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10delphi制作wav文件的方法