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

Posted 脚本之家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#使用ML.Net完成人工智能预测相关的知识,希望对你有一定的参考价值。

 关注脚本之家,与百万开发者在一起

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

作者 | kiba518

出品 | 脚本之家(ID:jb51net)

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


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

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


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

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

运行,然后选择如下:

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

C#使用ML.Net完成人工智能预测
创建项目


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

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

然后选择。

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

然后添加机器学习。

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

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

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

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

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

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

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

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

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

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

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

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

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

方案 示例 数据 Label 特征
分类 预测销售异常 产品销售数据 产品销售额 月份

预测网站评论的情绪 网站评论数据 标签(负面情绪为 0,正面情绪为 1) 评论、年份

预测信用卡欺诈交易 信用卡数据 类(存在欺诈性为 1,否则为 0) 金额,V1-V28(匿名处理后的特征)

预测 GitHub 存储库中的问题类型 GitHub 问题数据 区域 标题、描述
值预测 预测出租车费用价格 出租车费数据 车费 行程时间、距离
图像分类 预测花卉的类别 花卉图像 花卉类型:雏菊、蒲公英、玫瑰、向日葵、郁金香 图像数据本身
建议 预测他人喜欢的电影 电影评分 用户、电影 评级

 << 滑动查看更多内容>>

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

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

训练界面如下:

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

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

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

训练完成后,如下图:

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

我们点击评估,如下图:

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

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

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

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

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

C#使用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... ");
    Console.WriteLine($"Month: {sampleData.Month}");
    Console.WriteLine($" Predicted ProductSales: {predictionResult.Score} ");
    Console.WriteLine("=============== End of process, hit any key to finish ===============");
    Console.ReadKey();
}

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

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

到这里,我们ML.Net就算初步学会使用了。

C#使用ML.Net完成人工智能预测
训练时长


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

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

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

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

到此C#使用ML.Net完成人工智能预测的基本使用已经介绍完了,代码已经传到Github上了,欢迎大家下载。

声明:本文为 脚本之家专栏作者 投稿,未经允许请勿转载。

写的不错?赞赏一下


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

长按扫码赞赏我

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

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

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

●  

● 

 

以上是关于C#使用ML.Net完成人工智能预测的主要内容,如果未能解决你的问题,请参考以下文章

使用 ML.NET 进行保险价格预测

ML.NET相关资源整理

ML.NET Cookbook:(10)如何使用模型做出一个预测?

当.NET遇到机器学习

使用C# 探索 ML.NET 中的不同机器学习任务

使用ML.Net轻松接入AI模型!