微软发布ML.NET 1.0,可一键添加机器学习模型
今天,我們很高興宣布發(fā)布 ML.NET?1.0。ML.NET 是一個(gè)免費(fèi)的、跨平臺的開源機(jī)器學(xué)習(xí)框架,旨在將機(jī)器學(xué)習(xí)(ML)的強(qiáng)大功能引入.NET 應(yīng)用程序。
??ML.NET?GitHub:https://github.com/dotnet/machinelearning
入門 @?http://dot.net/ml
ML.NET 允許你使用 C#或 F#訓(xùn)練、構(gòu)建和發(fā)布自定義機(jī)器學(xué)習(xí)模型,用于情景分析、問題分類、預(yù)測、推薦等場景。你可以在我們的ML.NET 樣品庫中查看這些常見的場景和任務(wù)。
ML.NET 最初是在微軟研究院內(nèi)部研發(fā),后來演變成許多微軟產(chǎn)品使用的重要框架,例如 Windows Defender、Microsoft Office(Powerpoint 設(shè)計(jì)思想、Excel 圖表推薦)、Azure 機(jī)器學(xué)習(xí)、PowerBI 關(guān)鍵影響者等!
自推出以來,許多組織都在使用 ML.NET,如 SigParser(垃圾郵件檢測)、William Mullens(法律問題分類)和 Evolution 軟件(榛子水分檢測)。
ML.NET?1.0 版本添加了新的預(yù)覽功能,如自動機(jī)器學(xué)習(xí)(AutoML)功能,ML.NET?CLI 和 ML.NET?Model Builder 等新工具,這意味著,現(xiàn)在為你的應(yīng)用程序添加機(jī)器學(xué)習(xí)模型只需點(diǎn)擊右鍵!
本文的其余部分重點(diǎn)介紹這些新體驗(yàn)。
ML.NET 核心組件
自動機(jī)器學(xué)習(xí)預(yù)覽
ML.NET 模型生成器預(yù)覽
ML.NET?CLI 預(yù)覽
ML.NET 入門
未來計(jì)劃
ML.NET 核心組件
ML.NET 旨在提供終端工作流程,以便在機(jī)器學(xué)習(xí)(預(yù)處理、特征工程、建模、評估和操作)的各個(gè)步驟中將 ML 用于.NET 應(yīng)用程序。ML.NET?1.0 提供以下關(guān)鍵組件:
數(shù)據(jù)表示
基本 ML 數(shù)據(jù)管道數(shù)據(jù)類型,如 IDataView——基本數(shù)據(jù)管道類型
閱讀器支持從分隔文本文件或 IEnumerable 對象中讀取數(shù)據(jù)
支持機(jī)器學(xué)習(xí)任務(wù):
二進(jìn)制分類
多級分類
回歸
排序
異常檢測
聚類
推薦(預(yù)覽)
數(shù)據(jù)轉(zhuǎn)換和特性化
文本
分類
特征選擇
規(guī)范化和缺失值處理
圖像特征化
時(shí)間序列(預(yù)覽)
支持 ONNX 和 TensorFlow 模型集成(預(yù)覽)
其他
模型理解和解釋
用戶定義的自定義轉(zhuǎn)換
架構(gòu)操作
支持?jǐn)?shù)據(jù)集操作和交叉驗(yàn)證
自動機(jī)器學(xué)習(xí)預(yù)覽
如今,機(jī)器學(xué)習(xí)入門學(xué)習(xí)過程非常艱難。在構(gòu)建自定義機(jī)器學(xué)習(xí)模型時(shí),你必須確定為你的場景選擇機(jī)器學(xué)習(xí)任務(wù)(即分類或回歸?),將你的數(shù)據(jù)轉(zhuǎn)換為 ML 算法可以理解的格式(例如文本數(shù)據(jù) - > 數(shù)字向量),并微調(diào)這些 ML 算法以達(dá)到最佳性能。如果你是 ML 新手,這些步驟中的每一步都會非常艱巨!
自動機(jī)器學(xué)習(xí)通過自動確定如何轉(zhuǎn)換輸入數(shù)據(jù)并選擇性能最佳的 ML 算法,使你能夠輕松構(gòu)建一流的自定義 ML 模型,使你的 ML 之旅更加簡單。
ML.NET 中的 AutoML 支持處于預(yù)覽階段,我們目前支持回歸(用于價(jià)格預(yù)測等場景)和分類(用于情感分析、文檔分類、垃圾郵件檢測等場景)ML 任務(wù)。
你可以使用 ML.NET?Model Builder、ML.NET?CLI 或直接使用 AutoML API(可在此處找到樣本)三種形式在 ML.NET 中體驗(yàn) AutoML。
對于不熟悉機(jī)器學(xué)習(xí)的用戶,我們建議從 Visual?Studio 中的 ML.NET 模型構(gòu)建器和任何平臺上的 ML.NET?CLI 開始。AutoML API 對于你想要動態(tài)構(gòu)建模型的場景也非常方便。
模型生成器預(yù)覽
為了簡化.NET 開發(fā)人員構(gòu)建 ML 模型的過程,我們今天也很高興地發(fā)布 ML.NET 模型構(gòu)建器。使用 ML.NET 模型構(gòu)建器,只需右鍵單擊即可將機(jī)器學(xué)習(xí)添加到你的應(yīng)用程序中!
Model Builder 是一個(gè)簡單的 UI 工具,供開發(fā)人員使用自己的數(shù)據(jù)集,通過 AutoML 使構(gòu)建最佳的 ML 模型。除此之外,Model Builder 還可以生成模型訓(xùn)練和模型消耗代碼,以達(dá)到最佳性能,讓你快速將 ML 添加到現(xiàn)有應(yīng)用程序中。
了解有關(guān) ML.NET 模型構(gòu)建器的更多信息
Model Builder 目前處于預(yù)覽階段,歡迎試用并告訴我們你的想法!
ML.NET?CLI 預(yù)覽
ML.NET?CLI(命令行界面)是我們今天推出的另一個(gè)新工具!
ML.NET?CLI 是一個(gè) dotnet 工具,允許使用 AutoML 和 ML.NET 生成 ML.NET 模型。ML.NET?CLI 可以快速遍歷你的數(shù)據(jù)集以獲取特定的 ML 任務(wù)(目前支持回歸和分類)并生成最佳模型。
CLI 除了生成最佳模型外,還允許用戶為最佳性能模型生成模型訓(xùn)練和模型消耗代碼。
ML.NET?CLI 是跨平臺的,可以輕松添加到.NET?CLI。Model Builder Visual?Studio 擴(kuò)展還使用 ML.NET?CLI 提供模型構(gòu)建器功能。
你可以通過此命令安裝 ML.NET?CLI。
dotnet tool install -g mlnet
下圖顯示了 ML.NET?CLI 構(gòu)建情感分析數(shù)據(jù)集。
了解有關(guān) ML.NET CLI 的更多信息
ML.NET?CLI 目前也處于預(yù)覽狀態(tài),歡迎試用并分享你的想法!
開始吧!
從頭開始使用 ML.NET 很簡單,你可以通過幾個(gè)簡單的步驟來完成,如下所示。 下面的示例顯示了如何使用 ML.NET 進(jìn)行情緒分析。
var ctx = new MLContext();
IDataView dataReader = ctx.Data
????.LoadFromTextFile<MyInput>(dataPath, hasHeader: true);
IEstimator<ITransformer> est = ctx.Transforms.Text
????.FeaturizeText("Features", nameof(SentimentIssue.Text))
????.Append(ctx.BinaryClassification.Trainers
????????.LbfgsLogisticRegression("Label", "Features"));
ITransformer trainedModel = est.Fit(dataReader);
var predictionEngine = ctx.Model
????.CreatePredictionEngine<MyInput, MyOutput>(trainedModel);
var sampleStatement = new MyInput { Text = "This is a horrible movie" };
var prediction = predictionEngine.Predict(sampleStatement);
你還可以探索各種其他學(xué)習(xí)資源,如 ML.NET 的教程和資源,以及 ML.NET 示例、演示產(chǎn)品推薦、異常檢測和更多實(shí)際操作等流行方案。
ML.NET 的下一步
今天發(fā)布 ML.NET?1.0 的同時(shí),我們的團(tuán)隊(duì)已經(jīng)在努力為 ML.NET?1.0 版發(fā)布以下功能。
其他 ML 場景的 AutoML 體驗(yàn)
改進(jìn)了對深度學(xué)習(xí)場景的支持
支持其他其他來源,如 SQL Server、CosmosDB、Azure Blob 存儲等。
在 Azure 上橫向擴(kuò)展以進(jìn)行模型訓(xùn)練和消耗
使用模型構(gòu)建器和 CLI 時(shí),支持其他 ML 方案和功能
用于 Apache Spark 和 ML.NET 的.NET 大規(guī)模機(jī)器學(xué)習(xí)的本地集成
.NET 中的新 ML 類型,例如數(shù)據(jù)幀
感謝創(chuàng)建者
在此,我們特別鳴謝該項(xiàng)目的貢獻(xiàn)者,是他們的努力讓.NET 開發(fā)人員可以使用機(jī)器學(xué)習(xí)。
amiteshenoy,beneyal,bojanmisic,Caraul,dan-drews,DAXaholic,dhilmathy,dzban2137,elbruno,endintiers,f1x3d,feiyun0112,forki,harshsaver,
helloguo,hvitved,Jongkeun,JorgeAndd,JoshuaLight,jwood803,kant2002,kilick,Ky7m,llRandom,malik97160,MarcinJuraszek,mareklinka,
Matei13,mfaticaearnin,mnboos,nandaleite,Nepomuceno nihitb06,Niladri24dutta,PaulTFreedman,Pielgrin,pkulikov,Potapy4,Racing5372,
rantri,rantri,rauhs,robosek,ross-p-smith,SolyarA,Sorrien,suhailsinghbains,terop,ThePiranha,Thomas-S-B,timitoc,tincann,v-tsymbalistyi,
van-tienhoang,veikkoeeva 和 yamachu
非常感謝,
ML.NET 團(tuán)隊(duì)
原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結(jié)
以上是生活随笔為你收集整理的微软发布ML.NET 1.0,可一键添加机器学习模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 官博翻译 | .NET Core 即 .
- 下一篇: 微软Build 2019大会.NET课程