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上了,欢迎大家下载。---------------
注:此文章为原创,请注明出处!