使用 Azure 机器学习设计器训练模型

Azure 机器学习设计器提供了一个拖放界面,可用于定义工作流。 可以创建工作流来训练模型,轻松测试和比较多种算法。

在本练习中,你将使用设计器快速训练和比较两种分类算法。

准备工作

需要一个你在其中具有管理级权限的 Azure 订阅

预配 Azure 机器学习工作区

借助 Azure 机器学习工作区,可集中管理训练和管理模型所需的所有资源和资产。 可以通过工作室、Python SDK 和 Azure CLI 与 Azure 机器学习工作区进行交互。

你将使用 Shell 脚本,该脚本使用 Azure CLI 来预配工作区和必要的资源。 接下来,你将使用 Azure 机器学习工作室中的设计器来训练和比较模型。

创建工作区和计算群集

若要创建 Azure 机器学习工作区和计算群集,请使用 Azure CLI。 所有必需的命令都被分组到一个 Shell 脚本中,以便于执行。

  1. 在浏览器中,打开 Azure 门户 (https://portal.azure.com/),并登录 Microsoft 帐户。
  2. 选择页面顶部搜索框右侧的 [>_] (Cloud Shell) 按钮。 这会打开门户底部的 Cloud Shell 窗格。
  3. 如果系统询问,请选择“Bash”。 首次打开 Cloud Shell 时,系统可能会要求你选择要使用的 shell 类型(Bash 或 PowerShell) 。
  4. 如果系统要求你为 Cloud Shell 创建存储,请确认已指定正确的订阅,然后选择“创建存储”。 等待存储创建完成。
  5. 在终端,输入以下命令以克隆此存储库:

     rm -r azure-ml-labs -f
     git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
    

    使用 SHIFT + INSERT 将复制的代码粘贴到 Cloud Shell 中。

  6. 克隆存储库后,输入以下命令以更改为此实验室的文件夹,然后运行其中包含的 setup.ps1 脚本:

     cd azure-ml-labs/Labs/05
     ./setup.sh
    

    忽略表示扩展未安装的(错误)消息。

  7. 等待脚本完成 - 这通常需要大约 5-10 分钟。

配置新管道

创建工作区和必要的计算群集后,可以打开 Azure 机器学习工作室并使用设计器创建训练管道。

  1. 在 Azure 门户,导航到名为 mlw-dp100-… 的 Azure 机器学习工作区。
  2. 选择 Azure 机器学习工作区,并在其“概述”页中选择“启动工作室” 。 将在浏览器中打开另一标签页,以打开 Azure 机器学习工作室。
  3. 关闭工作室中显示的任何弹出窗口。
  4. 在 Azure 机器学习工作室中,导航到“计算”页,并验证在上一部分中创建的计算群集是否存在。 群集应处于空闲状态,并且有 0 个节点正在运行。
  5. 导航到“设计器”页。
  6. 选择页面顶部的“自定义”选项卡。
  7. 使用自定义组件创建新的空管道。
  8. 选择右侧的铅笔图标,将默认管道名称 (Pipeline-Created-on-* date*) 更改为 Train-Diabetes-Classifier

创建新管道

若要训练模型,将需要数据。 可以使用数据存储中存储的任何数据,也可以使用可公开访问的 URL。

  1. 选择左侧菜单中的“数据”选项卡。
  2. 将“diabetes-folder”组件拖放到画布上。

    有了数据后,可以继续使用工作区中已存在的自定义组件(在设置期间为你创建)创建管道。

  3. 在左侧菜单中,选择“组件”选项卡。
  4. 将“删除空行”组件拖放到画布上“diabetes-folder”的下方 。
  5. 将数据的输出连接到新组件的输入。
  6. 将“规范化数字列”组件拖放到画布上的“删除空行”下方****。
  7. 将上一个组件的输出连接到新组件的输入。
  8. 将“训练决策树分类器模型”组件拖放到画布上的“规范化数字列”下方****。
  9. 将上一个组件的输出连接到新组件的输入。
  10. 选择“配置和提交”,然后在“设置管道作业”页中新建一个试验并将其命名为 diabetes-designer-pipeline,然后选择“下一步”。
  11. 在“输入和输出”中不进行任何更改,然后选择“下一步”。
  12. 在“运行时设置”中,选择“计算群集”,然后在“选择 Azure ML 计算群集”下选择“aml-cluster”。
  13. 选择“查看 + 提交”,然后选择“提交”以启动管道运行。
  14. 可以通过转到“管道”页然后选择“Train-Diabetes-Classifier”管道来检查运行的状态。
  15. 等待所有组件成功完成。

    提交作业将初始化计算群集。 由于计算群集在此之前一直处于空闲状态,因此可能需要一些时间才能将群集大小调整为 0 个以上的节点。 调整群集大小后,它将自动开始运行管道。

你将能够跟踪每个组件的运行。 当管道失败时,你将能够了解哪个组件失败,以及它失败的原因。 错误消息将显示在作业概述的“输出 + 日志”选项卡中。

训练要比较的第二个模型

若要比较算法并评估哪个性能更好,可以在一个管道中训练两个模型并进行比较。

  1. 返回到“设计器”,然后选择“Train-Diabetes-Classifier”管道草稿。
  2. 将“训练逻辑回归分类器模型”组件添加到画布上,旁边是其他训练组件。
  3. 将“规范化数值列”组件的输出连接到新训练组件的输入**
  4. 在顶部选择“配置和提交”。
  5. 在“基本信息”页上,创建名为 designer-compare-classification 的新试验并运行它。
  6. 选择“查看 + 提交”,然后选择“提交”以启动管道运行。
  7. 可以检查运行的状态,方法是转到“管道”页,选择带有“designer-compare-classification”试验的“Train-Diabetes-Classifier”管道。
  8. 等待所有组件成功完成。
  9. 选择“作业概述”,然后选择“指标”选项卡以查看这两个训练组件的结果。
  10. 尝试确定哪个模型性能更好。

删除 Azure 资源

当你完成对 Azure 机器学习的探索时,应删除已创建的资源,以避免产生不必要的 Azure 成本。

  1. 关闭“Azure 机器学习工作室”选项卡并返回到 Azure 门户。
  2. 在 Azure 门户的主页上,选择“资源组”。
  3. 选择“rg-dp100-…”资源组。
  4. 在资源组的“概述”页的顶部,选择“删除资源组”。
  5. 输入资源组名称以确认要删除该资源组,然后选择“删除”。