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

微軟釋出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)

分享創造快樂