歡迎光臨
每天分享高質量文章

微軟發佈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(dataPath, hasHeader: true);

IEstimator 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(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 團隊

赞(0)

分享創造快樂