C#使用ML.Net完成人工智能预测
前言
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完成人工智能预测的更多相关文章
- Dotnet core基于ML.net的销售数据预测实践
ML.net已经进到了1.5版本.作为Microsoft官方的机器学习模型,你不打算用用? 一.前言 ML.net可以让我们很容易地在各种应用场景中将机器学习加入到应用程序中.这是这个框架很重要的 ...
- 【ML】京东人工智能设计神器「羚珑」
https://www.uisdc.com/linglong 文后的彩蛋说的特别好,让设计师发挥更高阶的价值.
- iOS 11: CORE ML—浅析
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...
- 使用ML.NET + ASP.NET Core + Docker + Azure Container Instances部署.NET机器学习模型
本文将使用ML.NET创建机器学习分类模型,通过ASP.NET Core Web API公开它,将其打包到Docker容器中,并通过Azure Container Instances将其部署到云中. ...
- Coursera Deep Learning 3 Structuring Machine Learning Projects, ML Strategy
Why ML stategy 怎么提高预测准确度?有了stategy就知道从哪些地方入手,而不至于找错方向做无用功. Satisficing and Optimizing metric 上图中,run ...
- 2019年度【计算机视觉&机器学习&人工智能】国际重要会议汇总
简介 每年全世界都会举办很多计算机视觉(Computer Vision,CV). 机器学习(Machine Learning,ML).人工智能(Artificial Intelligence ,AI) ...
- 台湾ML笔记--1.1什么时候适合使用ML
适用情况: 1 exists some 'underlying pattern' to be learned --so 'performance measure' can be imporoved 例 ...
- 【深度学习Deep Learning】资料大全
最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books by Yoshua Bengio, Ian Goodfellow and Aaron C ...
- AI算法第一天【概述与数学初步】
1. 机器学习的定义: 机器从数据中学习出规律和模式,以应用在新数据上作出预测的任务 2.学习现象: (1)语言文字的认知识别 (2)图像,场景,物体的认知和识别 (3)规则:下雨天要带雨伞 (4)复 ...
随机推荐
- ImpalaTest
package com.niewj.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...
- 流量控制--3.Linux流量控制的组件
Linux流量控制的组件 流量控制元素与Linux组件之间的相关性: traditional element Linux component 入队列 修订:从用户或网络接收报文 整流 class 提供 ...
- ceph的pg平衡插件balancer
前言 ceph比较老的版本使用的reweight或者osd weight来调整平衡的,本篇介绍的是ceph新的自带的插件balancer的使用,官网有比较详细的操作手册可以查询 使用方法 查询插件的开 ...
- modprobe: FATAL: Module ceph not found解决办法
问题 有可能你在进行 Ceph 文件系统挂载的时候出现下面的提示: modprobe: FATAL: Module ceph not found. mount.ceph: modprobe faile ...
- 验证rbd的缓存是否开启
简单快速的在客户端验证rbd的cache是否开启 首先修改配置文件 在ceph.conf中添加: [client] rbd cache = true rbd cache writethrough un ...
- //*[starts-with(@class,'btn')][text()='差'] 正则定位元素
starts-with? //*[starts-with(@class,'btn')][text()='差'] 意思找从头开始的这个class
- 使用create-react-app 搭建react + ts + antd框架
一.创建项目 使用npx create-react-app (项目名) --template typescript 创建项目 ①如果App.tsx文件有如下报错: (没有报错的请忽略) 需要将tsco ...
- Linxu (centos6.8)常见目录及文件解析
/etc/sysconfig/networ-scripts/ifcfg-eth0 第一块网卡配置 BOOTPROTO="dhcp" #启用地址协议,static静态协议,bo ...
- scrapy学习之爬虫练习平台35
前言 上一篇文章中爬取了爬虫练习平台的所有 ssr 网站,都是比较简单的,没有反爬措施,这次来爬一下后面的 spa 系列. 环境准备 这里沿用了上篇文章的环境和设置,就不重新搭建环境了. 开始爬取 s ...
- java基本权限指南之:文件和共享目录的基本权限
简介 java程序是跨平台的,可以运行在windows也可以运行在linux.但是平台不同,平台中的文件权限也是不同的.windows大家经常使用,并且是可视化的权限管理,这里就不多讲了. 本文主要讲 ...