叮,您有一份ML.NET 速查手册请查收!
點擊上方藍字
關注我們
(本文閱讀時間:7分鐘)
本篇文章簡要介紹 ML.NET 背景和面向 .NET 開發的特色功能,以及典型的機器學習編碼示例,并分享自己整理的 ML.NET API 速查手冊。
微軟MVP實驗室研究員
項斌
微軟全球最有價值專家 MVP,《PyTorch機器學習從入門到實戰》作者之一,杭州 FireUG 技術社區發起人之一。超過15+ 年 .NET 開發經歷,在數據分析、機器學習、自動化領域近十年從事研發工作。
ML.NET 簡介
ML.NET 是面向.NET開發人員的跨平臺機器學習框架,它具備在聯機或本地環境中將機器學習模型集成到 .NET 應用程序中的能力。
2002 年微軟啟動有一個研究項目命名為 TMSN,其意在“Test mining search and navigation”,后來它被改名為 TLC(The learning code)。ML.NET 正是派生自 TLC 庫,最初被用于微軟的內部產品。
ML.NET 的核心既可以通過指定算法來訓練自定義機器學習模型,也可以導入預訓練的 TensorFlow 和 ONNX 模型繼續訓練。生成模型后,可以將其添加到應用程序中進行預測。ML.NET 支持在使用 .NET Core/.NET Framework 的 Windows、Linux 和 macOS 上運行,所有平臺均支持 64 位,此外 Windows 平臺支持 32 位,但 TensorFlow、LightGBM 和 ONNX 相關功能除外。
ML.NET 集成了眾多主流的轉換器、算法庫,通過 API 提供了豐富的數據處理對象和算法評估器,并且對 Infer.NET、NimbusML、Scikit-Learn、TensorFlow 等機器學習相關的包提供了方便地擴展機制。如果您是一位 .NET 開發者,您將很輕松地上手使用,并且將成果無縫集成到 .NET Core 應用程序中,特別是 ASP.NET Core 的 Web 應用中實現一些高級的智能服務。
邏輯回歸模型示例
簡單示例訓練一個用于二分類的邏輯回歸模型代碼如下:
//Step 1. Create an ML Context var ctx = new MLContext();//Step 2. Read in the input data from a text file for model training IDataView trainingData = ctx.Data.LoadFromTextFile<ModelInput>(dataPath, hasHeader: true);//Step 3. Build your data processing and training pipeline var pipeline = ctx.Transforms.Text.FeaturizeText("Features", nameof(SentimentIssue.Text)).Append(ctx.BinaryClassification.Trainers.LbfgsLogisticRegression("Label", "Features"));//Step 4. Train your model ITransformer trainedModel = pipeline.Fit(trainingData);//Step 5. Make predictions using your trained model var predictionEngine = ctx.Model.CreatePredictionEngine<ModelInput, ModelOutput>(trainedModel);var sampleStatement = new ModelInput() { Text = "This is a horrible movie" };var prediction = predictionEngine.Predict(sampleStatement);ML.NET 目前在 Github 上以開源項目進行持續更新迭代,最新的版本為1.6。
- 開源項目示例 - https://github.com/dotnet/machinelearning 
ML.NET 特色
ML.NET 支持的熱門機器學習任務覆蓋眾多,包括了傳統的分類、回歸、聚類,也支持了有關時序和圖像神經網絡。目前已知的應用場景例如:情緒分析、產品推薦、價格預測、客戶分層、對象檢測、欺詐檢測、峰值檢測、圖像分類、銷量預測等等。
ML.NET 對 .NET 開發者非常友好,它提供了 Visual Studio 擴展 Model Builder, 這是一個可視化的工具套件,以非常低門檻的操作要求即可快速訓練出指定任務類型的機器學習模型,并且自動生成相關的源碼,方便后續修改和維護。對于喜歡通過代碼方式進行機器學習任務的伙伴,官方提供了豐富的文檔和示例代碼庫。
另外,ML.NET 針對 CLI 也提供了命令行工具,而且是支持 AutoML 的,使得常見的機器學習場景實現零編碼。
- 文檔 - https://docs.microsoft.com/en-us/dotnet/machine-learning 
- 示例代碼庫 - https://github.com/dotnet/machinelearning-samples 
速查手冊
通過 AutoML 生成的代碼一開始閱讀起來會有一點點不習慣,也不利于后續改造代碼以適應開發者的實際需要。如果從來沒有接觸過機器學習的開發者,可能會擔心記不住、看不懂、用不慣 ML.NET API 文檔中密密麻麻基于專業術語的對象和方法,鑒于收集到如是實際開發者反饋的障礙,作者將 ML.NET API 按經典的機器學習實現步驟,把常用的方法整理成一份圖冊,并添加了一些代碼片段用來幫助快速理解 API 對象和方法的使用規則。另外,圖冊底部把截止目前 ML.NET 已內置支持的模型訓練器和數據轉換器列成表格方便掌握完整信息。圖冊以高清矢量格式的圖片分享出來,在編碼的時候放在習慣的地方,像開發其他 .NET 應用一樣可隨時查看,一目了然。
免費領取高清?ML.NET?速查手冊
點擊下方名片
進入“微軟中國MSDN”
官方微信公眾號
對話框內回復暗號:
ML.NET?速查手冊
微軟最有價值專家(MVP)
微軟最有價值專家是微軟公司授予第三方技術專業人士的一個全球獎項。29年來,世界各地的技術社區領導者,因其在線上和線下的技術社區中分享專業知識和經驗而獲得此獎項。
MVP是經過嚴格挑選的專家團隊,他們代表著技術最精湛且最具智慧的人,是對社區投入極大的熱情并樂于助人的專家。MVP致力于通過演講、論壇問答、創建網站、撰寫博客、分享視頻、開源項目、組織會議等方式來幫助他人,并最大程度地幫助微軟技術社區用戶使用 Microsoft 技術。
更多詳情請登錄官方網站:
https://mvp.microsoft.com/zh-cn
免費領取高清ML.NET速查手冊
總結
以上是生活随笔為你收集整理的叮,您有一份ML.NET 速查手册请查收!的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 开源绘画应用 Pinta 已移植到GTK
- 下一篇: ASP.NET Core启动地址配置方法
