当前位置: 首页 > 编程笔记 >

.NET开发人员关于ML.NET的入门学习

董康平
2023-03-14
本文向大家介绍.NET开发人员关于ML.NET的入门学习,包括了.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 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我是一个长期从事C / Java开发人员的工作,试图涉足Python,并且正在寻找陈词滥调的“面向C 开发人员的Python”文章,但是空白。我已经看到了C

  • 作者:陈希章 发表于 2017年7月29日 前言 作为人工智能技术的一个主要的表现形式,这些年机器人(bot)的应用越来越广泛。不管是有实物的,还是纯软件的,现在的机器人技术应该说已经走入寻常百姓家了。这一篇文章探讨的是,在微软提供的Bot Framework基础上快速开发和部署一个软件的机器人,并且将其与 Office 365 或其他应用无缝地整合起来,为用户带来全新的基于会话的人机交互体验。

  • 问题内容: 我需要经验丰富的程序员的帮助。我想提高我的MVC技能。但是我找不到关于MVC的Google优秀教程。Google始终会为“初学者提供MVC”。 我了解MVC是什么并且可以实现,但是我没有足够的经验来做OOP实用的东西。 如果有人知道MVC的优秀面向对象教程,请引导我到正确的地方-我正在寻找好的链接,书籍等。 问题答案: 包含仅PHP材料的链接带有标记,以便于识别。 在全面了解OOP之前

  • 开发人员协议 请务必认真阅读和理解本《360浏览器应用开放平台开发人员协议》(以下简称"协议")中规定的所有权利和限制。在您参与360浏览器应用开放平台并使用应用中心分发产品时,您首先应接受本《协议》条款,如果您不接受本协议或违反了协议,奇虎360有权采取以下措施:驳回应用审核、下线产品、删除帐户、拒绝访问等。 本《协议》是开发人员与北京奇虎科技有限公司(下称"奇虎360")之间关于利用360浏览

  • Project V Project V 由以下几部分组成: V2Ray 核心: v2ray.com/core V2Ray 手册: v2ray.com 周边项目: 详见客户端 V2Ray 项目组 V2Ray 项目组最初是为了 V2Ray 核心的开发而建立,现在已推广到整个 Project V 生态环境。我们欢迎你加入组织参与开发。当然你也选择可以使用自己的 V2Ray 之外的环境。 加入 V2Ray

  • 本文向大家介绍测试人员和开发人员区别?相关面试题,主要包含被问及测试人员和开发人员区别?时的应答技巧和注意事项,需要的朋友参考一下 ①人员不同 测试:开发人员和测试人员 开发:只有开发人员 ②所处阶段不同 测试:贯穿整个软件开发生命周期 调试:在软件开发编码阶段以及测试过程中对BUG进行调试 ③对bug处理结果不同 测试:只找出错误,不解决 调试:找出错误并解决