ML.NET

開放原始碼和跨平台機器學習架構

開始使用 Model Builder

在 Windows、Linux 及 macOS 上受支援

//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);
//Step 1. Create an ML Context
let ctx = MLContext()

//Step 2. Read in the input data from a text file
let trainingData = ctx.Data.LoadFromTextFile<ModelInput>(dataPath, hasHeader=true)

//Step 3. Build your data processing and training pipeline
let scope = ctx.BinaryClassification.Trainers.LbfgsLogisticRegression("Label", "Features")
let pipeline = ctx.Transforms.Text.FeaturizeText("Features", "Text").Append(scope)

//Step 4. Train your model
let trainedModel = pipeline.Fit(trainingData)

//Step 5. Make predictions using your model
let predictionEngine = ctx.Model.CreatePredictionEngine<ModelInput, ModelOutput>(trainedModel)

let sampleStatement = { Label = false; Text = "This is a horrible movie" }

let prediction = predictionEngine.Predict(sampleStatement)

專爲 .NET 開發人員打造

使用 ML.NET,您可以使用 C# 或 F# 來建立自訂 ML 模型,而且不必離開 .NET 生態系統。

ML.NET 可讓您重新使用作為.NET 開發人員已具備的所有知識、技能、程式碼及程式庫,輕鬆地將機器學習整合到您的 Web、行動裝置、電腦、遊戲及 IoT 應用程式。

深入探討: 什麼是 ML.NET?

使用 AutoML 輕鬆自訂 ML

ML.NET 提供 Model Builder (一款簡單的 UI 工具) 和 ML.NET CLI,讓您能夠輕鬆組建自訂 ML 模型。

這些工具使用自動化機器學習 (AutoML),這是一種尖端技術,可將為您的 Azure Machine Learning 案例建立最佳執行模型的流程自動化。您只需載入資料即可,AutoML 會負責處理模型組建流程的其餘部分。

探索 ML.NET Model Builder
ML.NET Model Builder 提供了可在 Visual Studio 中組建機器學習模型的視覺化介面。

已使用 TensorFlow & 等擴充

ML.NET 已經設計成可擴展的平台,讓您可以使用其他熱門 ML 架構 (TensorFlow、ONNX、Infer.NET 等),而且能夠存取更多機器學習案例,例如影像分類、物件偵測等等。

在 Amazon 評論資料集的 ~900 MB 上進行訓練,產生具有 93% 正確性的模型、Scikit-learn 92% 及 H2O 85%。ML.NET 花費 11 分鐘來訓練及測試模型,Scikit-learn 耗時 66 分鐘,H2O 則花了 105 分鐘。

資料源自使用 ML.NET 在 Microsoft 進行機器學習文章。情感分析結果,使用約 900 MB 的 Amazon 檢閱資料集。正確性越高且執行階段越短會越好。

高效能及正確性

ML.NET 使用 9GB Amazon 檢閱資料集,訓練了具有 95% 正確性的情感分析模型。其他熱門機器學習架構因發生記憶體錯誤所以無法處理資料集。ML.NET 在 10% 的資料集上進行訓練以讓所有架構完成受訓,表現出了最高的速度和正確性。

效能評估在其他機器學習案例中找到類似的結果,包括點擊率預測和飛行延遲預測。

閱讀 ML.NET 效能報告

準備開始了嗎?

我們的逐步教學課程可協助您讓 ML.NET 在電腦上執行。

開始使用