使用工作室 UI 设置针对表格数据的无代码 AutoML 训练

在本文中,你将了解如何在 Azure 机器学习工作室中使用 Azure 机器学习自动化机器学习来设置 AutoML 训练作业,且无需编写任何代码。

自动化机器学习(简称 AutoML)是为特定数据选择要使用的最佳机器学习算法的过程。 通过此过程可以快速生成机器学习模型。 详细了解 Azure 机器学习如何实现自动化机器学习

有关端到端示例,请尝试教程:AutoML - 训练无代码分类模型

要获得 Python 基于代码的体验,请使用 Azure 机器学习 SDK 配置自动化机器学习试验

先决条件

  • Azure 订阅。 如果没有 Azure 订阅,请在开始前创建一个试用版订阅。 立即尝试试用版订阅

  • Azure 机器学习工作区。 请参阅创建工作区资源

入门

  1. 登录到 Azure 机器学习工作室

  2. 选择订阅和工作区。

  3. 导航到左侧窗格。 在“创作”部分下,选择“自动化 ML”。

Azure Machine Learning studio navigation pane

如果这是首次执行任何试验,则会看到一个空列表和指向文档的链接。

否则,将会看到最近的自动化 ML 试验列表,其中包括使用 SDK 创建的试验。

创建并运行试验

  1. 选择“+ 新建自动化 ML 作业”并填充窗体。

  2. 从存储容器中选择一个数据资产,或创建新的数据资产。 可以基于本地文件、Web URL、数据存储或 Azure 开放数据集创建数据资产。 详细了解数据资产创建

    重要

    训练数据的要求:

    • 数据必须为表格格式。
    • 要预测的值(目标列)必须在数据中存在。
    1. 若要从本地计算机上的文件创建新的数据集,请选择“+创建数据集”,然后选择“从本地文件”。

    2. 选择“下一步”,以打开“数据存储和文件选择”窗体。 可以选择要上传数据集的位置;选择使用工作区自动创建的默认存储容器,或选择要用于试验的存储容器。

      1. 如果数据位于虚拟网络后面,则需要启用“跳过验证”功能以确保工作区可以访问数据。 有关详细信息,请参阅在 Azure 虚拟网络中使用 Azure 机器学习工作室
    3. 选择“浏览”以上传数据集的数据文件。

    4. 查看“设置和预览”窗体中内容的准确性。 该窗体是基于文件类型智能填充的。

      字段 说明
      文件格式 定义文件中存储的数据的布局和类型。
      分隔符 一个或多个字符,用于指定纯文本或其他数据流中不同的独立区域之间的边界。
      编码 指定字符架构表中用于读取数据集的位。
      列标题 指示如何处理数据集的标头(如果有)。
      跳过行 指示要跳过数据集中的多少行(如果有)。

      选择“下一页”。

    5. “架构”窗体是基于“设置和预览”窗体中所做的选择智能填充的。 在此处,请配置每个列的数据类型,检查列名称,并选择“不包含”哪些列进行试验。

      选择“下一步”。

    6. “确认详细信息”窗体上总结了先前在“基本信息”和“设置和预览”窗体中填充的信息 。 你还可以使用已启用分析的计算来为数据集创建数据配置文件。

      选择“下一页”。

  3. 新建的数据集出现后,请将其选中。 还可以查看数据集和示例统计信息的预览。

  4. 在“配置作业”窗体上,选择“新建”,然后输入“Tutorial-automl-deploy”作为实验名称。

  5. 选择目标列;这是要对其进行预测的列。

  6. 针对数据分析和训练作业选择计算类型。 可以选择计算群集计算实例

  7. 从现有计算的下拉列表中选择一个计算。 若要创建新计算,请按照步骤 8 中的说明进行操作。

  8. 选择“创建新计算”,以便为此试验配置计算上下文。

    字段 说明
    计算名称 输入用于标识计算上下文的唯一名称。
    虚拟机优先级 低优先级虚拟机的费用更低,但不能保证计算节点。
    虚拟机类型 选择“CPU”或“GPU”作为虚拟机类型。
    虚拟机大小 指定计算资源的虚拟机大小。
    最小/最大节点数 要分析数据,必须指定一个或多个节点。 输入计算的最大节点数。 对于 Azure 机器学习计算,默认值为 6 个节点。
    高级设置 使用这些设置可以配置用户帐户和现有虚拟网络以进行试验。

    选择“创建”。 创建新计算可能需要花费几分钟时间。

    选择“下一页”。

  9. 在“任务类型和设置”窗体中选择任务类型:分类、回归或预测。 有关详细信息,请参阅支持的任务类型

    1. 如需分类,还可以启用深度学习。

    2. 对于预测,可以

      1. 启用深度学习。

      2. 选择“时间列”:此列包含要使用的时间数据。

      3. 选择“预测范围”:指示模型可以预测未来的多少个时间单位(分钟/小时/天/周/月/年)。 模型需要预测的未来越远,其准确度就会越低。 详细了解预测和预测范围

  10. (可选)查看附加配置设置:可用来更好地控制训练作业的其他设置。 否则,将会根据试验选择和数据应用默认设置。

    其他配置 说明
    主要指标 用于对模型进行评分的主要指标。 详细了解模型指标
    启用集合堆栈 系综学习通过组合多个模型而不是使用单个模型,来改善机器学习结果和预测性能。 详细了解集合模型
    已阻止的模型 选择要从训练作业中排除的模型。

    允许模型只适用于 SDK 试验
    请参阅每种任务类型支持的算法
    解释最佳模型 自动显示有关自动化 ML 创建的最佳模型的可解释性。
    正类标签 自动化 ML 将用于计算二进制指标的标签。
  11. (可选)查看特征化设置:如果选择在“其他配置设置”窗体中启用“自动特征化”,则会应用默认的特征化技术 。 在“查看特征化设置”中,可以更改这些默认设置并相应地进行自定义。 了解如何自定义特征化

    Screenshot shows the Select task type dialog box with View featurization settings called out.

  12. [可选]限制窗体允许执行以下操作。

    选项 说明
    试用版最大值 在 AutoML 作业期间使用不同的算法和超参数组合执行的各个试运行的最大次数。 必须是介于 1 到 1000 之间的整数。
    试用版最大并发数 可以并行执行的试用作业的最大数目。 必须是介于 1 到 1000 之间的整数。
    最大节点数 此作业可从所选计算目标使用的最大节点数。
    指标分数阈值 当为迭代指标达到此阈值时,训练作业将终止。 请记住,有意义的模型具有相关性 > 0,否则就与猜测平均值没有区别,度量阈值应介于边界 [0, 10] 之间。
    试验超时(分钟) 许整个试验运行的最长时间(分钟)。 达到此限制后,系统将取消该 AutoML 作业,包括其所有试运行(子作业)。
    迭代超时(分钟) 允许每个试用运行作业运行的最长时间(分钟)。 达到此限制后,系统会取消该试运行。
    启用提前终止 如果评分在短期内没有提高,选择结束作业。
  13. 可以通过“验证和测试”窗体执行以下操作。

a. 指定要用于训练作业的验证类型。 如果未显式指定 validation_datan_cross_validations 参数,自动化 ML 会根据单个数据集 training_data 中提供的行数应用默认技术。

训练数据大小 验证技术
大于 20,000 行 将应用训练/验证数据拆分。 默认行为是将初始训练数据集的 10% 用作验证集。 然后,该验证集将用于指标计算。
小于 20,000& 行 将应用交叉验证方法。 默认折数取决于行数。
如果数据集小于 1,000 行,则使用 10 折。
如果行数在 1,000 到 20,000 之间,则使用 3 折。

b. 提供测试数据集(预览)以评估自动化 ML 在试验结束时生成的建议模型。 提供测试数据时,将在试验结束时自动触发测试作业。 此测试作业仅在自动化 ML 建议的最佳模型上运行。 了解如何获取远程测试作业的结果

重要

提供测试数据集来评估生成的模型是一项预览功能。 此功能是一个试验性预览功能,可能会随时更改。 * 测试数据将被视为独立于训练和验证,以便不会导致建议模型的测试作业结果产生偏差。 详细了解模型验证期间的偏差。 * 可以提供自己的测试数据集,也可以选择使用一定比例的训练数据集。 测试数据必须采用 Azure 机器学习 TabularDataset 的形式。
* 测试数据集的架构应与训练数据集相匹配。 目标列是可选的,但如果未指示任何目标列,则不会计算测试指标。 * 测试数据集不应与训练数据集或验证数据集相同。 * 预测作业不支持训练/测试拆分。

Screenshot shows the form where to select validation data and test data

自定义特征化

在“特征化”窗体中,可以启用/禁用自动特征化,并为试验自定义自动特征化设置。 若要打开此窗体,请参阅创建并运行试验部分中的步骤 10。

下表汇总了工作室中目前可用的自定义。

自定义
特征类型 更改选定列的值类型。
插补值 选择数据中用于插补缺失值的值。

Screenshot showing Azure Machine Learning studio custom featurization.

运行试验并查看结果

选择“完成”来运行试验。 试验准备过程可能需要长达 10 分钟的时间。 训练作业可能需要额外的 2 - 3 分钟才能完成每个管道的运行。 如果已指定为最佳推荐模型生成 RAI 仪表板,则最多可能需要 40 分钟。

注意

自动化 ML 使用的算法本身具有随机性,这可能会导致建议的模型最终指标分数(如准确度)出现细微差异。 自动化 ML 还可在必要时对数据执行操作,例如训练-测试拆分、训练-验证拆分或交叉验证。 因此,如果多次使用相同的配置设置和主要指标运行一个试验,你可能会发现因这些因素而导致的每个试验最终指标分数的差异。

查看试验详细信息

“作业详细信息”屏幕中会打开“详细信息”选项卡。此屏幕显示试验作业的摘要,在顶部的作业编号旁会显示状态栏。

“模型”选项卡包含按指标评分排序的已创建模型列表。 默认情况下,列表中首先显示评分最高的模型(评分根据所选指标给出)。 随着训练作业尝试更多模型,它们会添加到列表中。 使用此项可以快速比较目前为止生成的模型的指标。

查看训练作业详细信息

向下钻取任何已完成的模型以查看训练作业详细信息。

可以在“指标”选项卡上查看模型特定的性能指标图表。详细了解图表

还可以在此处找到有关模型的所有属性以及关联的代码、子作业和图像的详细信息。

查看远程测试作业结果(预览)

如果在试验设置期间指定了测试数据集或选择了训练/测试拆分(在“验证和测试”窗体中),则默认情况下自动化 ML 会自动测试建议的模型。 因此,自动化 ML 会计算测试指标以确定建议模型及其预测的质量。

重要

使用测试数据集测试模型以评估生成的模型是一项预览功能。 此功能是一个试验性预览功能,可能会随时更改。

若要查看建议模型的测试作业指标,

  1. 导航到“模型”页,选择最佳模型。
  2. 选择“测试结果(预览)”选项卡。
  3. 选择所需的作业,然后查看“指标”选项卡。Test results tab of automatically tested, recommended model

若要查看用于计算测试指标的测试预测,

  1. 导航到页面底部,选择“输出数据集”下的链接以打开数据集。
  2. 在“数据集”页上,选择“浏览”选项卡以查看测试作业的预测。
    1. 或者,也可以从“输出 + 日志”选项卡,展开“Predictions”文件夹,找到 predicted.csv 文件,查看/下载预测文件 。

或者,也可以从“输出 + 日志”选项卡,展开 Predictions 文件夹,找到 predictions.csv 文件,查看/下载预测文件。

模型测试作业将生成 predictions.csv 文件,该文件存储在与工作区一起创建的默认数据存储中。 此数据存储对使用同一订阅的所有用户可见。 如果用于测试作业或由测试作业创建的任何信息需要保持专用状态,则不建议将测试作业用于此方案。

测试现有的自动化 ML 模型(预览)

重要

使用测试数据集测试模型以评估生成的模型是一项预览功能。 此功能是一个试验性预览功能,可能会随时更改。

试验完成后,可以测试自动化 ML 生成的模型。 如果要测试自动化 ML 生成的其他模型,而不是建议模型,可以按照以下步骤操作。

  1. 选择现有的自动化 ML 试验作业。

  2. 导航到作业的“模型”选项卡,选择要测试的已完成模型。

  3. 在模型“详细信息”页上,选择“测试模型(预览)”按钮,以打开“测试模型”窗格 。

  4. 在“测试模型”窗格中,选择要用于测试作业的计算群集和测试数据集。

  5. 选择“测试”按钮。 测试数据集的架构应与训练数据集相匹配,但目标列是可选的。

  6. 成功创建模型测试作业后,“详细信息”页会显示一条成功消息。 选择“测试结果”选项卡以查看作业进度。

  7. 若要查看测试作业的结果,请打开“详细信息”页,并按照查看远程测试作业的结果部分中的步骤进行操作。

    Test model form

负责任 AI 仪表板(预览)

要更好地了解模型,可以使用负责任 AI 仪表板查看有关模型的各种见解。 通过此操作,可以评估和调试最佳自动化机器学习模型。 负责任 AI 仪表板将评估模型错误和公平性问题,通过评估训练和/或测试数据以及观察模型解释来诊断发生这些错误的原因。 总之,这些见解可帮助你与模型建立信任,并通过审核过程。 无法为现有自动化机器学习模型生成负责任 AI 仪表板。 只有在创建新的 AutoML 作业时,才会为建议使用的最佳模型创建它。 在提供对现有模型的支持之前,用户应继续仅使用模型解释(预览)。

要为特定模型生成负责任 AI 仪表板,

  1. 在提交自动化 ML 作业时,继续导航到左侧导航栏上的“任务设置”部分,然后选择“查看其他配置设置”选项。

  2. 在进行选择后出现的新窗体中,选中“解释最佳模型”复选框。

    Screenshot showing the Automated ML job configuration page with Explain best model selected.

  3. 继续转到设置窗体的“计算”页,并为你的计算选择“无服务器”。

    Serverless compute selection

  4. 完成后,导航到自动化 ML 作业的“模型”页,其中包含已训练模型的列表。 选择“查看负责任 AI 仪表板”链接:

    View dashboard page within an Automated ML job

为该模型显示负责任 AI 仪表板,如下图所示:

Responsible AI dashboard

在仪表板中,你会发现四个已为自动化 ML 最佳模型激活的组件:

组件 组件显示了什么内容? 如何阅读图表?
错误分析 以下情况下需要使用错误分析:
深入了解模型故障在数据集以及多个输入和特征维度中的分布方式。
细分聚合性能指标,自动发现错误的队列,以指导你采取针对性的缓解步骤。
错误分析图表
模型概述和公平性 使用此组件执行以下操作:
深入了解模型在不同数据队列中的性能。
通过查看差异指标了解模型公平性问题。 这些指标可以评估和比较根据敏感(或非敏感)特征标识的子组的模型行为。
模型概述和公平性图表
模型解释 通过查看以下内容,使用模型说明组件针对机器学习模型的预测结果生成人类可理解的说明:
全局解释:例如,哪些特征会影响贷款分配模型的整体行为?
局部解释:例如,为何批准或拒绝了客户的贷款申请?
模型可解释性图表
数据分析 在以下情况下需要使用数据分析:
选择不同的筛选器将数据切片为不同的维度(也称为队列)以浏览数据集统计信息。
了解数据集在不同队列和功能组中的分布。
确定与公平性、错误分析和因果关系(来自其他仪表板组件)相关的发现是否是数据集分布的结果。
确定在哪些领域收集更多数据,以减少由表示问题、标签噪声、特征噪声、标签偏差以及类似因素引起的错误。
数据资源管理器图表
  1. 可以进一步创建队列(共享指定特征的数据点子组),以将对每个组件的分析重点放在不同队列上。 当前应用于仪表板的队列的名称始终显示在仪表板的左上角。 仪表板中的默认视图是整个数据集,其标题为“所有数据”(默认值)。 在此处详细了解仪表板的全局控制。

编辑并提交作业(预览)

重要

基于现有实验复制、编辑和提交新实验的功能是一项预览功能。 此功能是一个试验性预览功能,可能会随时更改。

在想要基于现有实验的设置创建新实验的情况下,可以使用工作室 UI 中的“编辑并提交”按钮执行此操作。

此功能仅限于从工作室 UI 启动的实验,并要求新实验的数据架构与原始实验的数据架构相匹配。

编辑和提交”按钮将打开“创建新的自动化 ML 作业”向导,其中已预先填充了数据、计算和试验设置。 你可以浏览每个表单,并根据新实验的需要编辑选择。

部署模型

获得最佳模型后,就可以将其部署为 Web 服务,以便对新数据进行预测。

提示

如果希望使用 Python SDK 部署通过 automl 包生成的模型,则必须向工作区注册模型)

注册模型后,可在工作室中通过选择左侧窗格中的“模型”找到它。 打开模型后,可以选择屏幕顶部的“部署”按钮,然后按照“部署模型”部分的“步骤 2”中所述的说明进行操作。

自动化 ML 可帮助你在不编写任何代码的情况下部署模型:

  1. 可以使用多个部署选项。

    • 选项 1:根据定义的指标条件部署最佳模型。

      1. 试验完成后,选择屏幕顶部的“作业 1”,导航到父作业页面。
      2. 选择“最佳模型摘要”部分中列出的模型。
      3. 选择窗口左上角的“部署”。
    • 选项 2:从此试验部署特定模型迭代。

      1. 从“模型”选项卡中选择所需模型
      2. 选择窗口左上角的“部署”。
  2. 填充“部署模型”窗格。

    字段
    名称 输入部署的唯一名称。
    说明 输入说明,以更清楚地指出此部署的用途。
    计算类型 选择要部署的终结点类型:Azure Kubernetes 服务 (AKS)Azure 容器实例 (ACI)
    计算名称 仅适用于 AKS:选择要部署到的 AKS 群集的名称。
    启用身份验证 选择此项将允许基于令牌或基于密钥的身份验证。
    使用自定义部署资产 若要上传自己的评分脚本和环境文件,请启用此功能。 否则,默认情况下,自动化 ML 会为你提供这些资产。 详细了解评分脚本

    重要

    文件名不能超过 32 个字符,并且必须以字母数字开头和结尾。 开头和结尾之间可以包含短划线、下划线、句点和字母数字。 不允许空格。

    “高级”菜单提供默认部署功能,例如数据收集和资源利用率设置。 若要替代这些默认设置,请在此菜单中替代。

  3. 选择“部署”。 完成部署可能需要大约 20 分钟。 部署开始后,将显示“模型摘要”选项卡。 在“部署状态”部分下查看部署进度。

现在,你已获得一个正常运行的、可以生成预测结果的 Web 服务! 可以通过 Power BI 内置的 Azure 机器学习支持查询该服务,以测试预测。

后续步骤