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

 更新时间:2019-06-25 03:01:27   作者:佚名   我要评论(0)

ML.NET一直在微软的研究部门的工作。这些创新已经用于他们自己的产品,如Windows Defender,Microsoft Office(Powerpoint设计理念,Excel图表推荐),Azure机

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基础系列2
  • ASP.NET Core MVC/WebApi基础系列1

相关文章

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

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

    ML.NET一直在微软的研究部门的工作。这些创新已经用于他们自己的产品,如Windows Defender,Microsoft Office(Powerpoint设计理念,Excel图表推荐),Azure机
    2019-06-25
  • Windows下Visual Studio 2017安装配置方法图文教程

    Windows下Visual Studio 2017安装配置方法图文教程

    Windows下Visual Studio 2017 安装,具体内容如下 1.打开下载页。 打开VS产品下载页面,链接 2.选择版本下载 选择相应的版本(社区,Professional,企业版)
    2019-06-25
  • 前端Vue项目详解--初始化及导航栏

    前端Vue项目详解--初始化及导航栏

    一、项目初始化 创建webpack模板项目如下所示: MacBook-Pro:PycharmProjects hqs$ vue init webpack luffy_project &#63; Project name luffy_project
    2019-06-25
  • .net core webapi jwt 更为清爽的认证详解

    .net core webapi jwt 更为清爽的认证详解

    我的方式非主流,控制却可以更加灵活,喜欢的朋友,不妨花一点时间学习一下 jwt认证分为两部分,第一部分是加密解密,第二部分是灵活的应用于中间件,我的处理
    2019-06-25
  • ASP.NET Core静态文件的使用方法

    ASP.NET Core静态文件的使用方法

    前言 静态文件(HTML,CSS,图片和Javascript之类的资源)会被ASP.NET Core应用直接提供给客户端。 静态文件通常位于网站根目录(web root) <content-root>/ww
    2019-06-25
  • .NET Core 3.0之创建基于Consul的Configuration扩展组件

    .NET Core 3.0之创建基于Consul的Configuration扩展组件

    经过前面三篇关于.NET Core Configuration的文章之后,本篇文章主要讨论如何扩展一个Configuration组件出来。 了解了Configuration的源码后,再去扩展一个组件
    2019-06-25
  • Pyqt5实现英文学习词典

    Pyqt5实现英文学习词典

    运用Python语言编写程序制作英文学习词典,词典有4个基本功能:添加、查询、删除和退出。程序读取源文件路径下的txt格式词典文件,若没有就创建一个。词典文件
    2019-06-25
  • .net core EF Core调用存储过程的方式

    .net core EF Core调用存储过程的方式

    前言 在这里,我们将尝试去学习一下 .net core EF Core 中调用存储过程。 我们知道,EF Core 是不支持直接调用存储过程的,那它又提供了什么样的方式去执行存
    2019-06-25
  • asp.net Core3.0区域与路由配置的方法

    asp.net Core3.0区域与路由配置的方法

    在ASP.NET Core 3.0中路由配置和2.0不一样了 一、MVC 服务注册 ASP.NET Core 3.0 添加了用于注册内部的 MVC 方案的新选项Startup.ConfigureServices。 三个
    2019-06-25
  • .NET Core 中的并发编程

    .NET Core 中的并发编程

    并发编程 - 异步 vs. 多线程代码 并行编程是一个广泛的术语,我们应该通过观察异步方法和实际的多线程之间的差异展开探讨。 尽管 .NET Core 使用了任务来表
    2019-06-25

最新评论