前言

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. Java 中数组转换为 List

    目录 1 - int 型数组转换为 List 2 - List 转换为 int 型数组 3 - String 型数组转换为 List 4 - List 转换为 String 型数组 版权声明 开发中经 ...

  2. TODO_LIST

    H5 blog: http://html5doctor.com/designing-a-blog-with-html5/ 绝尘单词本----H5+Web NIO+netty+RPC

  3. JS中的Array之length不同JAVA之处

    1.length属性可写 a=[2,4,5,6,7,90]; //a.length->6 a.length=8; //a=[2, 4, 5, 6, 7, 90, undefined , unde ...

  4. Docker - 解决 Error response from daemon: driver failed programming external connectivity on endpoint tomcat9999

    问题背景 执行 docker start tomcat 报以下的错误 Error response from daemon: driver failed programming external co ...

  5. string.contains()

    public class test { public static void main(String[] args){ System.out.println("abcde".con ...

  6. #paragma详解

       #Pragma是预处理指令,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#Pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统 ...

  7. Notepad++安装教程

        1.官网下载 官方网站:https://notepad-plus-plus.org/downloads/ 上面有历史版本,一般就选择最新版下载 2.安装 [3]打开记事本进行设置: 设置--& ...

  8. 自动化测试_移动端测试(二)—— Appium原理

    一.什么是Appium Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver ...

  9. 洛谷 P2101 命运石之门的选择 (分治)

    P2101 命运石之门的选择 (分治) 介绍 El Psy Congroo 题目链接 没错,作为石头门厨,怎么能不做石头门的题呢?(在搜石头门的时 候搜到了本题) 本题作为一道分治基础练习题还是不错的 ...

  10. 5G革命:如何让「数据」实现最大性能?

    壹 早在2000年代中期,H-Store第一次在M.I.T.被我们提出来,VoltDB是H-Store的商业化产品,它表示结构相似的数据会被连续存放到一起.在本文的后续描述中,我们将使用V-H来缩写. ...