前言

Visual Studio2019 Preview中提供了图形界面的ML.Net,所以,只要我们安装Visual Studio2019 Preview就能简单的使用ML.Net了,因为我的电脑已经安装了Visual Studio2019,所以我不需要重头安装Visual Studio2019 Preview,只要更新即可。

安装

首先找到Visual Studio Installer安装包,如下图。

运行,然后选择如下:

创建项目

我们创建一下新项目,如下图:

然后选择。

然后添加机器学习。

点击机器学习时,如果我们没有开启MLNET模型创建功能,则会弹出提示,让我们开启。

当然我们也可以手动在选项中开启,如下图:

点击【机器学习】之后会有图形界面,如下图:

然后我们可以看到,它提供了一些方案,如语义识别,图像识别,数值预测等。

我们选择数值预测,然后进入下一步,如下图:

在环境页面,选择本地训练,然后点击下一步获取数据,如下图:

这里需要选择一个数据源,我们去官网上下载一下可用的测试数据源。

这里我们下载【产品销售数据】。

方案 示例 数据 Label 特征
分类 预测销售异常 产品销售数据 产品销售额 月份
  预测网站评论的情绪 网站评论数据 标签(负面情绪为 0,正面情绪为 1) 评论、年份
  预测信用卡欺诈交易 信用卡数据 类(存在欺诈性为 1,否则为 0) 金额,V1-V28(匿名处理后的特征)
  预测 GitHub 存储库中的问题类型 GitHub 问题数据 区域 标题、描述
值预测 预测出租车费用价格 出租车费数据 车费 行程时间、距离
图像分类 预测花卉的类别 花卉图像 花卉类型:雏菊、蒲公英、玫瑰、向日葵、郁金香 图像数据本身
建议 预测他人喜欢的电影 电影评分 用户、电影 评级

选择完预测数据文件,我们配置要预测的列,然后点击训练,如下图:

训练界面如下:

点击训练,大约2分钟,训练完成,输出界面会输出如下内容。

训练完成后,如下图:

我们点击评估,如下图:

如上图,预测到1月销售数据是262.8。

然后点击代码,将ML.Net代码添加到解决方案中,如下图:

添加ML.Net代码后,如下图:

生成的MLNetConsoleML.ConsoleApp项目是入口项目,Main函数如下:

static void Main(string[] args)
{
// Create single instance of sample data from first line of dataset for model input
ModelInput sampleData = new ModelInput()
{
Month = @"1-Jan",
};

// Make a single prediction on the sample data and print results
var predictionResult = ConsumeModel.Predict(sampleData);

Console.WriteLine("Using model to make single prediction -- Comparing actual ProductSales with predicted ProductSales from sample data...\n\n");
Console.WriteLine($"Month: {sampleData.Month}");
Console.WriteLine($"\n\nPredicted ProductSales: {predictionResult.Score}\n\n");
Console.WriteLine("=============== End of process, hit any key to finish ===============");
Console.ReadKey();
}

可以看到,我们预测的是Month = @"1-Jan"。

再打开ModelBuilder文件,可以看到,这里一开始就配置了数据地址和模型地址,如下图:

到这里,我们ML.Net就算初步学会使用了,下面,再提供一个官网GIF图片供大家参考。

训练时长

模型生成器使用 AutoML 浏览多个模型,以查找性能最佳的模型。

更长的训练周期允许 AutoML 通过更多设置来浏览更多模型。

下表汇总了在本地计算机上为一组示例数据集获取良好性能所花的平均时间。

数据集大小 训练的平均时间
0 - 10 MB 10 秒
10 - 100 MB 10 分钟
100 - 500 MB 30 分钟
500 - 1 GB 60 分钟
1 GB 以上 3 小时以上

----------------------------------------------------------------------------------------------------

参考网址:https://docs.microsoft.com/zh-cn/dotnet/machine-learning/automate-training-with-model-builder

----------------------------------------------------------------------------------------------------

到此C#使用ML.Net完成人工智能预测的基本使用已经介绍完了。

代码已经传到Github上了,欢迎大家下载。

Github地址: https://github.com/kiba518/MLNetConsole

----------------------------------------------------------------------------------------------------

注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的【推荐】,非常感谢!

https://www.cnblogs.com/kiba/p/14097006.html

C#使用ML.Net完成人工智能预测的更多相关文章

  1. Dotnet core基于ML.net的销售数据预测实践

    ML.net已经进到了1.5版本.作为Microsoft官方的机器学习模型,你不打算用用?   一.前言 ML.net可以让我们很容易地在各种应用场景中将机器学习加入到应用程序中.这是这个框架很重要的 ...

  2. 【ML】京东人工智能设计神器「羚珑」

    https://www.uisdc.com/linglong 文后的彩蛋说的特别好,让设计师发挥更高阶的价值.

  3. iOS 11: CORE ML—浅析

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...

  4. 使用ML.NET + ASP.NET Core + Docker + Azure Container Instances部署.NET机器学习模型

    本文将使用ML.NET创建机器学习分类模型,通过ASP.NET Core Web API公开它,将其打包到Docker容器中,并通过Azure Container Instances将其部署到云中. ...

  5. Coursera Deep Learning 3 Structuring Machine Learning Projects, ML Strategy

    Why ML stategy 怎么提高预测准确度?有了stategy就知道从哪些地方入手,而不至于找错方向做无用功. Satisficing and Optimizing metric 上图中,run ...

  6. 2019年度【计算机视觉&机器学习&人工智能】国际重要会议汇总

    简介 每年全世界都会举办很多计算机视觉(Computer Vision,CV). 机器学习(Machine Learning,ML).人工智能(Artificial Intelligence ,AI) ...

  7. 台湾ML笔记--1.1什么时候适合使用ML

    适用情况: 1 exists some 'underlying pattern' to be learned --so 'performance measure' can be imporoved 例 ...

  8. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  9. AI算法第一天【概述与数学初步】

    1. 机器学习的定义: 机器从数据中学习出规律和模式,以应用在新数据上作出预测的任务 2.学习现象: (1)语言文字的认知识别 (2)图像,场景,物体的认知和识别 (3)规则:下雨天要带雨伞 (4)复 ...

随机推荐

  1. .NetCore Docker一次记录

    1:项目添加docker支持 2:定位到项目主目录 按住shift,鼠标右键,打开powershell,输入命令 dotnet publish 此时会在目录 bin\Debug\netcoreapp2 ...

  2. 手把手教你使用rpm部署ceph集群

    环境准备 1.在运行 Ceph 守护进程的节点上创建一个普通用户,ceph-deploy 会在节点安装软件包,所以你创建的用户需要无密码 sudo 权限.如果使用root可以忽略. 为赋予用户所有权限 ...

  3. 判断浏览器,还在用userAgent吗,你out了

    以下内容摘自http://www.cnblogs.com/rubylouvre/archive/2009/10/14/1583362.html //2010 4 16日更新 ie678 = !+&qu ...

  4. SpringBoot进阶教程(六十五)自定义注解

    在上一篇文章<SpringBoot进阶教程(六十四)注解大全>中介绍了springboot的常用注解,springboot提供的注解非常的多,这些注解简化了我们的很多操作.今天主要介绍介绍 ...

  5. flex-shrink值的计算

    flex-shrink为弹性盒模型中,当弹性项不断行,并且所有弹性项的宽度只和大于弹性盒模型的可分配空间时,弹性项的收缩程度. 找到英文资料对flex-shrink的定义描述: flex-shrink ...

  6. KepServer与S7-1200PLC之间的OPC通信配置

    对于学习上位机开发,有一种通信方式是必须要了解的,那就是OPC是OLE for Process Control的简称,然而随着技术的不断发展,人们开始对它有了新的定义,比如Open Platform ...

  7. 检查linux下服务器的带宽

    设想:公司 A 有一个名为 bsdocfs 的存储服务器,并通过名为 beckham 的客户端节点装载 NFS.公司 A 确定他们需要从 bsdocfs得到更多的带宽,因为有大量的节点需要访问 bsd ...

  8. 流量控制--5.Classless Queuing Disciplines (qdiscs)

    Classless Queuing Disciplines (qdiscs) 本文涉及的队列规则(Qdisc)都可以作为接口上的主qdisc,或作为一个classful qdiscs的叶子类.这些是L ...

  9. POJ2689 [质数距离] 题解

    质数距离 题目TP门 题目描述 给定两个整数L和R,你需要在闭区间[L,R]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你 ...

  10. [web安全原理分析]-XEE漏洞入门

    前言 1 前言 XXE漏洞 XXE漏洞全称(XML External Entity Injection)即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致 ...