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

到此这篇关于C#使用ML.Net完成人工智能预测的文章就介绍到这了,更多相关C#人工智能预测内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

    ML.NET一直在微软的研究部门的工作.这些创新已经用于他们自己的产品,如Windows Defender,Microsoft Office(Powerpoint设计理念,Excel图表推荐),Azure机器学习,PowerBI. ML.NET旨在提供终端工作流程,以便在机器学习(预处理,特征工程,建模,评估和操作)的各个步骤中将ML用于.NET应用程序. ML.NET 1.0提供以下关键组件:数据表示机器学习任务(分类,回归,异常检测等)数据特征工程 机器学习模型应该让分析师的生活更轻松,现在

  • C#使用ML.Net完成人工智能预测

    前言 Visual Studio2019 Preview中提供了图形界面的ML.Net,所以,只要我们安装Visual Studio2019 Preview就能简单的使用ML.Net了,因为我的电脑已经安装了Visual Studio2019,所以我不需要重头安装Visual Studio2019 Preview,只要更新即可. 安装 首先找到Visual Studio Installer安装包,如下图. 运行,然后选择如下: 创建项目 我们创建一下新项目,如下图: 然后选择. 然后添加机器学习

  • Python机器学习应用之基于决策树算法的分类预测篇

    目录 一.决策树的特点 1.优点 2.缺点 二.决策树的适用场景 三.demo 一.决策树的特点 1.优点 具有很好的解释性,模型可以生成可以理解的规则. 可以发现特征的重要程度. 模型的计算复杂度较低. 2.缺点 模型容易过拟合,需要采用减枝技术处理. 不能很好利用连续型特征. 预测能力有限,无法达到其他强监督模型效果. 方差较高,数据分布的轻微改变很容易造成树结构完全不同. 二.决策树的适用场景 决策树模型多用于处理自变量与因变量是非线性的关系. 梯度提升树(GBDT),XGBoost以及L

  • Python用来做Web开发的优势有哪些

    Python是世界上最受欢迎的编码语言之一,在80年代后期首次受到ABC和Modula-3语言的影响而被概念化.从1991年的第一个版本到成为开源项目的2.0版本,它已经走了很长一段路,直到今天,它正在聚集一个庞大且专业的社区,该社区正在不断改进技术. 目前而言一些顶级公司在其技术堆栈中使用Python(例如Instagram) Facebook旗下的一个图片社交网站 Python适合从简单到复杂的各种Web项目.它广泛用于旅行,医疗保健,交通运输,金融等不同领域,用于Web开发和软件测试,脚本

  • 人工智能开发语言排行榜: 不死Java, 不朽C/C++, 新贵Python【推荐】

    看了这个排行榜, 小编只想说:流水的编程语言,铁打的Java,C/C++!! 人工智能的前景已经不用多说了,越来越多的人看重人工智能的前景,想要在这互联网的风口有一番作为.要做到这点,首先要确定进入人工智能行业,该学习哪门语言! Rankred 网站发布了该网站评出的2017年7大最佳的人工智能编程语言--Python第一! 1.Python 近来,尤其是在机器人领域,Python 已经有了翻天覆地的变化.其中一个原因是Python(和 C ++)是 ROS 中的两种主要编程语言. 如同 Jav

  • AI经典书单 人工智能入门该读哪些书?

    人工智能有多火,相信铺天盖地的新闻已经证实了这一点,不可否认,我们已经迎来了人工智能的又一次高潮.与前几次人工智能的飞跃相比,这一次人工智能突破将软件算法.高并发硬件系统以及大数据有机地结合在一起,进而将人工智能推向了最接近人类智能的制高点. 我在招聘网站上搜索人工智能相关的岗位,这些岗位的涉及到的技术领域包含: 算法.深度学习.机器学习.自然语言处理.数据结构.Tensorflow.Python .数据挖掘.搜索开发.spider开发.神经网络.视觉度量.图像识别.语音识别.推荐系统.系统算法

  • 人工智能机器学习常用算法总结及各个常用算法精确率对比

    本文讲解了机器学习常用算法总结和各个常用分类算法精确率对比.收集了现在比较热门的TensorFlow.Sklearn,借鉴了Github和一些国内外的文章. 机器学习的知识树,这个图片是Github上的,有兴趣的可以自己去看一下: 地址:https://github.com/trekhleb/homemade-machine-learning 简单的翻译一下这个树: 英文 中文 Machine Learning 机器学习 Supervised Learning 监督学习 Unsupervised

  • Python人工智能之波士顿房价数据分析

    目录 1.数据概览分析 1.1 数据概览 1.2 数据分析 2. 项目总体思路 2.1 数据读取 2.2 模型预处理 (1)数据离群点处理 (2)数据归一化处理 2.3. 特征工程 2.4. 模型选择 2.5. 模型评价 2.6. 模型调参 3. 项目总结 [人工智能项目]机器学习热门项目-波士顿房价 1.数据概览分析 1.1 数据概览 本次提供: train.csv,训练集: test.csv,测试集: submission.csv 真实房价文件: 训练集404行数据,14列,每行数据表示房屋

  • Python人工智能学习PyTorch实现WGAN示例详解

    目录 1.GAN简述 2.生成器模块 3.判别器模块 4.数据生成模块 5.判别器训练 6.生成器训练 7.结果可视化 1.GAN简述 在GAN中,有两个模型,一个是生成模型,用于生成样本,一个是判别模型,用于判断样本是真还是假.但由于在GAN中,使用的JS散度去计算损失值,很容易导致梯度弥散的情况,从而无法进行梯度下降更新参数,于是在WGAN中,引入了Wasserstein Distance,使得训练变得稳定.本文中我们以服从高斯分布的数据作为样本. 2.生成器模块 这里从2维数据,最终生成2

  • TensorFlow人工智能学习张量及高阶操作示例详解

    目录 一.张量裁剪 1.tf.maximum/minimum/clip_by_value() 2.tf.clip_by_norm() 二.张量排序 1.tf.sort/argsort() 2.tf.math.topk() 三.TensorFlow高阶操作 1.tf.where() 2.tf.scatter_nd() 3.tf.meshgrid() 一.张量裁剪 1.tf.maximum/minimum/clip_by_value() 该方法按数值裁剪,传入tensor和阈值,maximum是把数

随机推荐