ml.net例子笔记6-ml.net v2之AutoML

发布时间 2023-12-22 08:51:16作者: 2012

AutoML

1 概念

自动化机器学习也称为自动化 ML 或 AutoML,是将机器学习模型开发过程中耗时的反复性任务自动化的过程。 数据科学家、分析师和开发人员可以使用它来生成高度可缩放、高效且高产能的 ML 模型,同时保证模型的质量。
https://learn.microsoft.com/zh-cn/dotnet/machine-learning/automated-machine-learning-mlnet
自动化机器学习 (AutoML) 可自动化将机器学习应用于数据的过程。 在给定数据集的情况下,可以运行 AutoML 试验来迭代不同的数据转换、机器学习算法和超参数,从而选择最佳模型。

2 AutoML 如何运作?

https://learn.microsoft.com/zh-cn/azure/machine-learning/concept-automated-ml?view=azureml-api-2

在训练期间,Azure 机器学习会创建多个尝试不同算法和参数的并行管道。 该服务将迭代与特征选择配对的 ML 算法,每次迭代都会生成带有训练评分的模型。 要优化的指标的分数越好,模型就越被视为“适合”数据。 一旦达到试验中定义的退出条件,机器学习就会停止。
使用 Azure 机器学习可以通过以下步骤设计和运行自动化 ML 训练试验:

  1. 识别要解决的 ML 问题:分类、预测、回归、计算机视觉或者 NLP。
  2. 选择是想要代码优先体验还是无代码工作室 Web 体验:首选代码优先体验的用户可使用 Azure 机器学习 SDKv2 或 Azure 机器学习 CLIv2。
  3. 指定标记训练数据的源:可以通过多种方式将数据引入 Azure 机器学习。
  4. 配置自动化机器学习参数,用于确定要对不同模型运行的迭代次数、超参数设置、高级预处理/特征化,以及在确定最佳模型时要查看的具体指标。
  5. 提交训练作业。
  6. 查看结果

下图演示了此过程。

3 例子

https://learn.microsoft.com/zh-cn/dotnet/machine-learning/how-to-guides/how-to-use-the-automl-api
AutoML库文件发布地:
https://www.nuget.org/packages/Microsoft.ML.AutoML 目前版本是 0.21.0

结合上面的微软官方文档对应的如下的4个工程代码,基本可以理解整个的过程和思路

https://gitee.com/mirrors_dotnet/machinelearning-samples/blob/main/samples/csharp/getting-started/MLNET2/AutoMLQuickStart/Program.cs