C#使用MLNet完成人工智能预测
前言
VisualStudio2019Preview中提供了图形界面的ML.Net,所以,只要我们安装VisualStudio2019Preview就能简单的使用ML.Net了,因为我的电脑已经安装了VisualStudio2019,所以我不需要重头安装VisualStudio2019Preview,只要更新即可。
安装
首先找到VisualStudioInstaller安装包,如下图。
运行,然后选择如下:
创建项目
我们创建一下新项目,如下图:
然后选择。
然后添加机器学习。
点击机器学习时,如果我们没有开启MLNET模型创建功能,则会弹出提示,让我们开启。
当然我们也可以手动在选项中开启,如下图:
点击【机器学习】之后会有图形界面,如下图:
然后我们可以看到,它提供了一些方案,如语义识别,图像识别,数值预测等。
我们选择数值预测,然后进入下一步,如下图:
在环境页面,选择本地训练,然后点击下一步获取数据,如下图:
这里需要选择一个数据源,我们去官网上下载一下可用的测试数据源。
这里我们下载【产品销售数据】。
方案示例数据Label特征分类预测销售异常产品销售数据产品销售额月份 预测网站评论的情绪网站评论数据标签(负面情绪为0,正面情绪为1)评论、年份 预测信用卡欺诈交易信用卡数据类(存在欺诈性为1,否则为0)金额,V1-V28(匿名处理后的特征) 预测GitHub存储库中的问题类型GitHub问题数据区域标题、描述值预测预测出租车费用价格出租车费数据车费行程时间、距离图像分类预测花卉的类别花卉图像花卉类型:雏菊、蒲公英、玫瑰、向日葵、郁金香图像数据本身建议预测他人喜欢的电影电影评分用户、电影评级选择完预测数据文件,我们配置要预测的列,然后点击训练,如下图:
训练界面如下:
点击训练,大约2分钟,训练完成,输出界面会输出如下内容。
训练完成后,如下图:
我们点击评估,如下图:
如上图,预测到1月销售数据是262.8。
然后点击代码,将ML.Net代码添加到解决方案中,如下图:
添加ML.Net代码后,如下图:
生成的MLNetConsoleML.ConsoleApp项目是入口项目,Main函数如下:
staticvoidMain(string[]args){//CreatesingleinstanceofsampledatafromfirstlineofdatasetformodelinputModelInputsampleData=newModelInput(){Month=@"1-Jan",};//MakeasinglepredictiononthesampledataandprintresultsvarpredictionResult=ConsumeModel.Predict(sampleData);Console.WriteLine("Usingmodeltomakesingleprediction--ComparingactualProductSaleswithpredictedProductSalesfromsampledata... ");Console.WriteLine($"Month:{sampleData.Month}");Console.WriteLine($" PredictedProductSales:{predictionResult.Score} ");Console.WriteLine("===============Endofprocess,hitanykeytofinish===============");Console.ReadKey();}可以看到,我们预测的是Month=@"1-Jan"。
再打开ModelBuilder文件,可以看到,这里一开始就配置了数据地址和模型地址,如下图:
到这里,我们ML.Net就算初步学会使用了,下面,再提供一个官网GIF图片供大家参考。
训练时长
模型生成器使用AutoML浏览多个模型,以查找性能最佳的模型。
更长的训练周期允许AutoML通过更多设置来浏览更多模型。
下表汇总了在本地计算机上为一组示例数据集获取良好性能所花的平均时间。
数据集大小训练的平均时间0-10MB10秒10-100MB10分钟100-500MB30分钟500-1GB60分钟1GB以上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
重视通用人工智能发展(新知)
【现象】与人“对话”、编写代码、创作诗歌、翻唱歌曲……如今,具备一定理解和自主学习能力的人工智能,可以完成一些以往被认为只有人类才能完成的工作。近期,深度学习、大模型等关键技术推动人工智能快速发展,引发社会关注。
【点评】
人工智能可分为专用人工智能和通用人工智能。专用人工智能,只能通过一套特定的算法,完成特定的任务。通用人工智能又称强人工智能,能像人一样举一反三、触类旁通。比如,它能接收不同类别、有一定规模的数据,包括文字、影像、语音,然后把它们融合在一起,遇到新任务时,就可以快速“想到”做过的相关事情并调用掌握的相关知识,创造性地解决问题、完成任务。
近年来,人工智能大模型的出现,为通用人工智能的实现打开了新的想象空间。这些大模型往往运用一套算法、一套模型结构、一个训练思路,来提升人工智能的分析处理能力,而不是直接去解决一个个具体的问题。就像把一个孩子从小学培养到了大学,完成了通识教育,再让他们来学习一些专业知识,去完成特定的任务。这大大提升了人工智能处理复杂任务的能力。比如,过去只能进行录音转写的人工智能应用,现在则可以根据要点进行提炼总结。
尽管经过大模型训练的人工智能仍然“不懂”所做事情的意义,但已经可以输出接近人类理解的结果,并具备生成新事物的“创造力”。目前,一些生成式人工智能应用正向办公、生活等领域渗透,一批生物制药、遥感、气象等垂直领域的专业类大模型走向应用。
通用人工智能加速走进现实,将成为新一轮科技革命和产业变革的重要驱动力量,对人们的生产生活产生重大影响。目前,我国已逐步建立起涵盖理论方法和软硬件技术的体系化研发能力,一批具有行业影响力的预训练大模型蓬勃发展,形成了紧跟世界前沿的技术群。也应看到,我国人工智能发展水平总体上仍处于起步阶段,通用人工智能研究与应用仍然任重道远。
4月28日召开的中共中央政治局会议指出,要重视通用人工智能发展,营造创新生态,重视防范风险。为通用人工智能发展营造良好创新生态,要紧跟行业发展趋势,推动各种参数规模、技术架构、模态、场景的大模型高质量发展,发挥我国市场广阔和应用场景丰富的优势,探索具有产业价值的应用方向,为技术研发提供更多支撑。同时,要加强资源和研发力量统筹,在芯片、底层技术架构、人才培养、产学研融合、开源开放生态建设等方面协同发力,让技术进步和产业发展形成良性循环。
人工智能不断进化,也会带来一定风险。积极推进人工智能治理,要有一定的前瞻性。通用人工智能可处理海量数据,生成近似原作的产品,将在知识产权保护、个人隐私保护、打击虚假信息等方面带来新的挑战。政府、行业、企业等相关各方应加强风险研判,共同制定标准和制度规则,有效防控人工智能的科技伦理风险,不断推动科技向善、造福人类。
《人民日报》(2023年06月26日05版)
(责编:胡永秋、曲源)分享让更多人看到