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.