ML.NET---.NET下的机器学习引擎(简介)

2022-12-23,,,,

ML.NET 是一个跨平台的开源机器学习框架,它可以使 .NET 开发人员更容易的开展机器学习工作.

ML.NET 允许 .NET 开发人员开发自己的模型,即使没有机器学习的开发经验,也可以很容易的将自定义的机器学习模型嵌入到其应用程序中。

ML.NET 最初是在 microsoft research 中被开发的, 在过去十年里它已经发展成为一个重要的框架, 并在 microsoft 的许多产品组 (如 windows、bing、powerpoint、excel 等) 中被广泛使用。

ML.NET 支持机器学习任务, 如分类 (例如: 支持文本分类、情绪分析) 和回归 (例如, 价格预测)。

安装

ML.NET 使用 .NET Core, 可以使其运行在 Windows, Linux, and macOS 平台下, Windows 平台下使用 .NET Framework. 64 位框架 。 32 位 只可以在 Windows 平台下获取支持,但是 TensorFlow, LightGBM, ONNX 等相关功能不能使用。

当前版本是0.9 版本信息

首先,确保你已经安装 .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包。

创建

从源码创建 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 点击这里学习.

API 文档

参见 ML.NET API 参考文档.

示例

ML.NET 示例库 你可以在这里学习具体的使用场景和方法。

License

ML.NET 遵守以下许可 MIT license.

ML.NET---.NET下的机器学习引擎简介)的相关教程结束。

《ML.NET---.NET下的机器学习引擎(简介).doc》

下载本文的Word格式文档,以方便收藏与打印。