微软发布ML.NET 1.0,可一键添加机器学习模型
今天,我們很高興宣布發布 ML.NET?1.0。ML.NET 是一個免費的、跨平臺的開源機器學習框架,旨在將機器學習(ML)的強大功能引入.NET 應用程序。
??ML.NET?GitHub:https://github.com/dotnet/machinelearning
入門 @?http://dot.net/ml
ML.NET 允許你使用 C#或 F#訓練、構建和發布自定義機器學習模型,用于情景分析、問題分類、預測、推薦等場景。你可以在我們的ML.NET 樣品庫中查看這些常見的場景和任務。
ML.NET 最初是在微軟研究院內部研發,后來演變成許多微軟產品使用的重要框架,例如 Windows Defender、Microsoft Office(Powerpoint 設計思想、Excel 圖表推薦)、Azure 機器學習、PowerBI 關鍵影響者等!
自推出以來,許多組織都在使用 ML.NET,如 SigParser(垃圾郵件檢測)、William Mullens(法律問題分類)和 Evolution 軟件(榛子水分檢測)。
ML.NET?1.0 版本添加了新的預覽功能,如自動機器學習(AutoML)功能,ML.NET?CLI 和 ML.NET?Model Builder 等新工具,這意味著,現在為你的應用程序添加機器學習模型只需點擊右鍵!
本文的其余部分重點介紹這些新體驗。
ML.NET 核心組件
自動機器學習預覽
ML.NET 模型生成器預覽
ML.NET?CLI 預覽
ML.NET 入門
未來計劃
ML.NET 核心組件
ML.NET 旨在提供終端工作流程,以便在機器學習(預處理、特征工程、建模、評估和操作)的各個步驟中將 ML 用于.NET 應用程序。ML.NET?1.0 提供以下關鍵組件:
數據表示
基本 ML 數據管道數據類型,如 IDataView——基本數據管道類型
閱讀器支持從分隔文本文件或 IEnumerable 對象中讀取數據
支持機器學習任務:
二進制分類
多級分類
回歸
排序
異常檢測
聚類
推薦(預覽)
數據轉換和特性化
文本
分類
特征選擇
規范化和缺失值處理
圖像特征化
時間序列(預覽)
支持 ONNX 和 TensorFlow 模型集成(預覽)
其他
模型理解和解釋
用戶定義的自定義轉換
架構操作
支持數據集操作和交叉驗證
自動機器學習預覽
如今,機器學習入門學習過程非常艱難。在構建自定義機器學習模型時,你必須確定為你的場景選擇機器學習任務(即分類或回歸?),將你的數據轉換為 ML 算法可以理解的格式(例如文本數據 - > 數字向量),并微調這些 ML 算法以達到最佳性能。如果你是 ML 新手,這些步驟中的每一步都會非常艱巨!
自動機器學習通過自動確定如何轉換輸入數據并選擇性能最佳的 ML 算法,使你能夠輕松構建一流的自定義 ML 模型,使你的 ML 之旅更加簡單。
ML.NET 中的 AutoML 支持處于預覽階段,我們目前支持回歸(用于價格預測等場景)和分類(用于情感分析、文檔分類、垃圾郵件檢測等場景)ML 任務。
你可以使用 ML.NET?Model Builder、ML.NET?CLI 或直接使用 AutoML API(可在此處找到樣本)三種形式在 ML.NET 中體驗 AutoML。
對于不熟悉機器學習的用戶,我們建議從 Visual?Studio 中的 ML.NET 模型構建器和任何平臺上的 ML.NET?CLI 開始。AutoML API 對于你想要動態構建模型的場景也非常方便。
模型生成器預覽
為了簡化.NET 開發人員構建 ML 模型的過程,我們今天也很高興地發布 ML.NET 模型構建器。使用 ML.NET 模型構建器,只需右鍵單擊即可將機器學習添加到你的應用程序中!
Model Builder 是一個簡單的 UI 工具,供開發人員使用自己的數據集,通過 AutoML 使構建最佳的 ML 模型。除此之外,Model Builder 還可以生成模型訓練和模型消耗代碼,以達到最佳性能,讓你快速將 ML 添加到現有應用程序中。
了解有關 ML.NET 模型構建器的更多信息
Model Builder 目前處于預覽階段,歡迎試用并告訴我們你的想法!
ML.NET?CLI 預覽
ML.NET?CLI(命令行界面)是我們今天推出的另一個新工具!
ML.NET?CLI 是一個 dotnet 工具,允許使用 AutoML 和 ML.NET 生成 ML.NET 模型。ML.NET?CLI 可以快速遍歷你的數據集以獲取特定的 ML 任務(目前支持回歸和分類)并生成最佳模型。
CLI 除了生成最佳模型外,還允許用戶為最佳性能模型生成模型訓練和模型消耗代碼。
ML.NET?CLI 是跨平臺的,可以輕松添加到.NET?CLI。Model Builder Visual?Studio 擴展還使用 ML.NET?CLI 提供模型構建器功能。
你可以通過此命令安裝 ML.NET?CLI。
dotnet tool install -g mlnet
下圖顯示了 ML.NET?CLI 構建情感分析數據集。
了解有關 ML.NET CLI 的更多信息
ML.NET?CLI 目前也處于預覽狀態,歡迎試用并分享你的想法!
開始吧!
從頭開始使用 ML.NET 很簡單,你可以通過幾個簡單的步驟來完成,如下所示。 下面的示例顯示了如何使用 ML.NET 進行情緒分析。
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);
你還可以探索各種其他學習資源,如 ML.NET 的教程和資源,以及 ML.NET 示例、演示產品推薦、異常檢測和更多實際操作等流行方案。
ML.NET 的下一步
今天發布 ML.NET?1.0 的同時,我們的團隊已經在努力為 ML.NET?1.0 版發布以下功能。
其他 ML 場景的 AutoML 體驗
改進了對深度學習場景的支持
支持其他其他來源,如 SQL Server、CosmosDB、Azure Blob 存儲等。
在 Azure 上橫向擴展以進行模型訓練和消耗
使用模型構建器和 CLI 時,支持其他 ML 方案和功能
用于 Apache Spark 和 ML.NET 的.NET 大規模機器學習的本地集成
.NET 中的新 ML 類型,例如數據幀
感謝創建者
在此,我們特別鳴謝該項目的貢獻者,是他們的努力讓.NET 開發人員可以使用機器學習。
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 團隊
原文地址:https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-0/
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的微软发布ML.NET 1.0,可一键添加机器学习模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 官博翻译 | .NET Core 即 .
- 下一篇: 微软Build 2019大会.NET课程