ML.NET 是一個跨平臺的開源機器學習框架,它能夠使 .NET 開發人員更容易的開展機器學習工做.html
ML.NET 容許 .NET 開發人員開發本身的模型,即便沒有機器學習的開發經驗,也能夠很容易的將自定義的機器學習模型嵌入到其應用程序中。git
ML.NET 最初是在 microsoft research 中被開發的, 在過去十年裏它已經發展成爲一個重要的框架, 並在 microsoft 的許多產品組 (如 windows、bing、powerpoint、excel 等) 中被普遍使用。github
ML.NET 支持機器學習任務, 如分類 (例如: 支持文本分類、情緒分析) 和迴歸 (例如, 價格預測)。windows
ML.NET 使用 .NET Core, 能夠使其運行在 Windows, Linux, and macOS 平臺下, Windows 平臺下使用 .NET Framework. 64 位框架 。 32 位 只能夠在 Windows 平臺下獲取支持,可是 TensorFlow, LightGBM, ONNX 等相關功能不能使用。api
當前版本是0.9 版本信息app
首先,確保你已經安裝 .NET Core 2.1 或者更新的版本. ML.NET 也能夠工做在 .NET Framework 4.6.1 或者更新的版本, 可是推薦使用 4.7.2 或者更新的版本.框架
一旦你建立好了一個APP,你就能夠安裝經過.NET Core CLI或者NuGet安裝ML.NET:機器學習
dotnet add package Microsoft.ML
經過 NuGet 包管理器安裝:學習
Install-Package Microsoft.ML
你也能夠在Visual Studio的NuGet管理器中安裝Microsoft.ML包。ui
從源碼建立 ML.NET 請訪問 開發者嚮導.
Debug | Release | |
---|---|---|
Linux | ![]() |
![]() |
macOS | ![]() |
![]() |
Windows x64 | ![]() |
![]() |
Windows x86 | ![]() |
![]() |
Core 3.0 | ![]() |
![]() |
下面是一個經過文本數據來進行預測情緒的示例。
var mlContext = new MLContext(); var reader = mlContext.Data.TextReader(new TextLoader.Arguments { Column = new[] { new TextLoader.Column("SentimentText", DataKind.Text, 1), new TextLoader.Column("Label", DataKind.Bool, 0), }, HasHeader = true, Separator = "," }); var data = reader.Read(dataPath); var learningPipeline = mlContext.Transforms.Text.FeaturizeText("SentimentText", "Features") .Append(mlContext.BinaryClassification.Trainers.FastTree()); var model = learningPipeline.Fit(data);
如今經過上面訓練的模型進行情緒預測
var predictionEngine = model.CreatePredictionEngine<SentimentData, SentimentPrediction>(mlContext); var prediction = predictionEngine.Predict(new SentimentData { SentimentText = "Today is a great day!" }); Console.WriteLine("prediction: " + prediction.Prediction);
這裏有一本 cookbook 教你怎樣在不一樣的場景中使用這些API 點擊這裏學習.
參見 ML.NET API 參考文檔.
ML.NET 示例庫 你能夠在這裏學習具體的使用場景和方法。
ML.NET 遵照如下許可 MIT license.