.NET開(kāi)發(fā)人員關(guān)于ML.NET的入門(mén)學(xué)習(xí)
ML.NET一直在微軟的研究部門(mén)的工作。這些創(chuàng)新已經(jīng)用于他們自己的產(chǎn)品,如Windows Defender,Microsoft Office(Powerpoint設(shè)計(jì)理念,Excel圖表推薦),Azure機(jī)器學(xué)習(xí),PowerBI。 ML.NET旨在提供終端工作流程,以便在機(jī)器學(xué)習(xí)(預(yù)處理,特征工程,建模,評(píng)估和操作)的各個(gè)步驟中將ML用于.NET應(yīng)用程序。
ML.NET 1.0提供以下關(guān)鍵組件:數(shù)據(jù)表示機(jī)器學(xué)習(xí)任務(wù)(分類(lèi),回歸,異常檢測(cè)等)數(shù)據(jù)特征工程
機(jī)器學(xué)習(xí)模型應(yīng)該讓分析師的生活更輕松,現(xiàn)在甚至可以構(gòu)建這些模型,因?yàn)樾驴蚣艿脑O(shè)計(jì)考慮了AutoML。除了通常的機(jī)器學(xué)習(xí)任務(wù)外,ML.NET還支持AutoML。
對(duì)于機(jī)器學(xué)習(xí)初學(xué)者,Microsoft開(kāi)發(fā)人員建議從Visual Studio中的ML.NET模型構(gòu)建器和任何平臺(tái)上的ML.NET CLI開(kāi)始。對(duì)于可以隨時(shí)構(gòu)建模型的場(chǎng)景,AutoML API也非常方便。
使用ML.NET模型構(gòu)建器,只需右鍵單擊即可向應(yīng)用程序添加機(jī)器學(xué)習(xí)。

在命令行使用ML.NET
還引入了另一個(gè)工具M(jìn)L.NET CLI(命令行工具),它允許使用AutoML和ML.NET生成ML.NET模型。ML.NET CLI快速遍歷特定ML任務(wù)的數(shù)據(jù)集(目前支持回歸和分類(lèi))并生成最佳模型。
CLI除了生成最佳模型外,還允許用戶(hù)為最佳性能模型生成模型訓(xùn)練和 消費(fèi)模型代碼。
ML.NET CLI是跨平臺(tái)的,是.NET CLI 的全局工具。Visual Studio擴(kuò)展ML.NET Model Builder 還使用ML.NET CLI提供模型構(gòu)建器功能。
安裝ML.NET CLI:
dotnet tool install -g mlnet
這是使用回歸預(yù)測(cè)出租車(chē)票價(jià)的代碼
加載數(shù)據(jù)集
IDataView trainingDataView = mlContext.Data.LoadFromTextFile(TrainDataPath, hasHeader: true);
IDataView testDataView = mlContext.Data.LoadFromTextFile(TestDataPath, hasHeader: true);
運(yùn)行AutoML二進(jìn)制分類(lèi)
ExperimentResult experimentResult = mlContext.Auto().CreateRegressionExperiment(ExperimentTime).Execute(trainingDataView, LabelColumnName, progressHandler: new RegressionExperimentProgressHandler());
模型評(píng)估
ITransformer model = experimentResult.BestRun.Model;
并使用測(cè)試數(shù)據(jù)集評(píng)估其質(zhì)量(taxi-fare-test.csv)。
Regression.Evaluate() 計(jì)算已知票價(jià)與模型預(yù)測(cè)值之間的差異,以生成各種指標(biāo)。
var predictions = trainedModel.Transform(testDataView); var metrics = mlContext.Regression.Evaluate(predictions,scoreColumnName:“Score”);
創(chuàng)建預(yù)測(cè)引擎
var predEngine = mlContext.Model.CreatePredictionEngine<TaxiTrip, TaxiTripFarePrediction>(model);
計(jì)算分?jǐn)?shù)
var predictedResult = predEngine.Predict(taxiTripSample);
上面是使用Visual Studio內(nèi)部的模型構(gòu)建器以及CLI命令測(cè)試AutoML,還有一個(gè)API可以在.Net應(yīng)用程序中使用它,使用非常簡(jiǎn)單,添加[ Microsoft.ML.AutoML ] nuget包到項(xiàng)目中就可以使用API 進(jìn)行工作

ML.Net示例倉(cāng)庫(kù)中有一整套示例??梢灾赜昧薈ommon文件夾中的一些類(lèi)來(lái)通過(guò)API使用AutoML 。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
.NET實(shí)現(xiàn)簡(jiǎn)易的文件增量備份程序
這篇文章主要介紹了.NET實(shí)現(xiàn)簡(jiǎn)易的文件增量備份程序,需要的朋友可以參考下2016-06-06
介紹幾個(gè)ASP.NET中容易忽略但卻很重要的方法函數(shù)
介紹幾個(gè)ASP.NET中容易忽略但卻很重要的方法函數(shù)...2006-09-09
Asp.Net Core MVC項(xiàng)目實(shí)現(xiàn)多語(yǔ)言實(shí)例(Globalization/Localization)
本篇文章主要介紹了Asp.Net Core MVC項(xiàng)目實(shí)現(xiàn)多語(yǔ)言實(shí)例(Globalization/Localization) ,具有一定的參考價(jià)值,有興趣的可以了解一下2017-06-06
Asp.net SignalR 讓實(shí)時(shí)通訊變得如此簡(jiǎn)單
下面小編就為大家分享一篇Asp.net SignalR 讓實(shí)時(shí)通訊變得如此簡(jiǎn)單,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Asp.net中使用Sqlite數(shù)據(jù)庫(kù)的方法
Sqlite是最近比較流行的數(shù)據(jù)庫(kù)了,擁有比Access高效快速,易操作易實(shí)施。完全不需要在客戶(hù)端進(jìn)行任何的配置,只需要在站點(diǎn)中引用入DLL文件即可使用了。2009-11-11
asp.net core mvc實(shí)現(xiàn)文件上傳實(shí)例
本篇文章主要介紹了asp.net core mvc實(shí)現(xiàn)文件上傳實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-12-12
.NET Core創(chuàng)建一個(gè)控制臺(tái)(Console)程序
這篇文章主要為大家詳細(xì)介紹了.NET Core如何創(chuàng)建一個(gè)控制臺(tái)程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
asp.net(c#)Enterprise Library 3.0 下載
asp.net(c#)Enterprise Library 3.0 下載...2007-04-04
如何使用Python實(shí)現(xiàn)阿拉伯?dāng)?shù)字轉(zhuǎn)換成中國(guó)漢字
本文提供了一個(gè)Python代碼示例,用于將阿拉伯?dāng)?shù)字轉(zhuǎn)換為中文漢字表示,代碼定義了數(shù)字到漢字的映射表,并實(shí)現(xiàn)了處理不同位數(shù)(如個(gè)、十、百、千、萬(wàn)等)的函數(shù),特別地,處理方式包括對(duì)大數(shù)字的分解和轉(zhuǎn)換,以及對(duì)連續(xù)零的特殊處理,感興趣的朋友跟隨小編一起看看吧2024-09-09
Asp.Net的FileUpload類(lèi)實(shí)現(xiàn)上傳文件實(shí)例
這篇文章主要介紹了Asp.Net的FileUpload類(lèi)實(shí)現(xiàn)上傳文件的方法,以實(shí)例形式講述了上傳文件類(lèi)的具體實(shí)現(xiàn)方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-11-11

