使用 Azure 机器学习设计器训练模型
Azure 机器学习设计器提供了一个拖放界面,可用于定义工作流。 可以创建工作流来训练模型,轻松测试和比较多种算法。
在本练习中,你将使用设计器快速训练和比较两种分类算法。
准备工作
需要一个你在其中具有管理级权限的 Azure 订阅。
预配 Azure 机器学习工作区
借助 Azure 机器学习工作区,可集中管理训练和管理模型所需的所有资源和资产。 可以通过工作室、Python SDK 和 Azure CLI 与 Azure 机器学习工作区进行交互。
你将使用 Shell 脚本,该脚本使用 Azure CLI 来预配工作区和必要的资源。 接下来,你将使用 Azure 机器学习工作室中的设计器来训练和比较模型。
创建工作区和计算群集
若要创建 Azure 机器学习工作区和计算群集,请使用 Azure CLI。 所有必需的命令都被分组到一个 Shell 脚本中,以便于执行。
- 在浏览器中,打开 Azure 门户 (
https://portal.azure.com/
),并登录 Microsoft 帐户。 - 选择页面顶部搜索框右侧的 [>_] (Cloud Shell) 按钮。 这会打开门户底部的 Cloud Shell 窗格。
- 如果系统询问,请选择“Bash”。 首次打开 Cloud Shell 时,系统可能会要求你选择要使用的 shell 类型(Bash 或 PowerShell) 。
- 如果系统要求你为 Cloud Shell 创建存储,请确认已指定正确的订阅,然后选择“创建存储”。 等待存储创建完成。
-
在终端,输入以下命令以克隆此存储库:
rm -r azure-ml-labs -f git clone https://github.com/MicrosoftLearning/mslearn-azure-ml.git azure-ml-labs
使用
SHIFT + INSERT
将复制的代码粘贴到 Cloud Shell 中。 -
克隆存储库后,输入以下命令以更改为此实验室的文件夹,然后运行其中包含的 setup.ps1 脚本:
cd azure-ml-labs/Labs/05 ./setup.sh
忽略表示扩展未安装的(错误)消息。
- 等待脚本完成 - 这通常需要大约 5-10 分钟。
配置新管道
创建工作区和必要的计算群集后,可以打开 Azure 机器学习工作室并使用设计器创建训练管道。
- 在 Azure 门户,导航到名为 mlw-dp100-… 的 Azure 机器学习工作区。
- 选择 Azure 机器学习工作区,并在其“概述”页中选择“启动工作室” 。 将在浏览器中打开另一标签页,以打开 Azure 机器学习工作室。
- 关闭工作室中显示的任何弹出窗口。
- 在 Azure 机器学习工作室中,导航到“计算”页,并验证在上一部分中创建的计算群集是否存在。 群集应处于空闲状态,并且有 0 个节点正在运行。
- 导航到“设计器”页。
- 选择页面顶部的“自定义”选项卡。
- 使用自定义组件创建新的空管道。
- 选择右侧的铅笔图标,将默认管道名称 (Pipeline-Created-on-* date*) 更改为
Train-Diabetes-Classifier
。
创建新管道
若要训练模型,将需要数据。 可以使用数据存储中存储的任何数据,也可以使用可公开访问的 URL。
- 选择左侧菜单中的“数据”选项卡。
-
将“diabetes-folder”组件拖放到画布上。
有了数据后,可以继续使用工作区中已存在的自定义组件(在设置期间为你创建)创建管道。
- 在左侧菜单中,选择“组件”选项卡。
- 将“删除空行”组件拖放到画布上“diabetes-folder”的下方 。
- 将数据的输出连接到新组件的输入。
- 将“规范化数字列”组件拖放到画布上的“删除空行”下方****。
- 将上一个组件的输出连接到新组件的输入。
- 将“训练决策树分类器模型”组件拖放到画布上的“规范化数字列”下方****。
- 将上一个组件的输出连接到新组件的输入。
- 选择“配置和提交”,然后在“设置管道作业”页中新建一个试验并将其命名为
diabetes-designer-pipeline
,然后选择“下一步”。 - 在“输入和输出”中不进行任何更改,然后选择“下一步”。
- 在“运行时设置”中,选择“计算群集”,然后在“选择 Azure ML 计算群集”下选择“aml-cluster”。
- 选择“查看 + 提交”,然后选择“提交”以启动管道运行。
- 可以通过转到“管道”页然后选择“Train-Diabetes-Classifier”管道来检查运行的状态。
-
等待所有组件成功完成。
提交作业将初始化计算群集。 由于计算群集在此之前一直处于空闲状态,因此可能需要一些时间才能将群集大小调整为 0 个以上的节点。 调整群集大小后,它将自动开始运行管道。
你将能够跟踪每个组件的运行。 当管道失败时,你将能够了解哪个组件失败,以及它失败的原因。 错误消息将显示在作业概述的“输出 + 日志”选项卡中。
训练要比较的第二个模型
若要比较算法并评估哪个性能更好,可以在一个管道中训练两个模型并进行比较。
- 返回到“设计器”,然后选择“Train-Diabetes-Classifier”管道草稿。
- 将“训练逻辑回归分类器模型”组件添加到画布上,旁边是其他训练组件。
- 将“规范化数值列”组件的输出连接到新训练组件的输入**。
- 在顶部选择“配置和提交”。
- 在“基本信息”页上,创建名为
designer-compare-classification
的新试验并运行它。 - 选择“查看 + 提交”,然后选择“提交”以启动管道运行。
- 可以检查运行的状态,方法是转到“管道”页,选择带有“designer-compare-classification”试验的“Train-Diabetes-Classifier”管道。
- 等待所有组件成功完成。
- 选择“作业概述”,然后选择“指标”选项卡以查看这两个训练组件的结果。
- 尝试确定哪个模型性能更好。
删除 Azure 资源
当你完成对 Azure 机器学习的探索时,应删除已创建的资源,以避免产生不必要的 Azure 成本。
- 关闭“Azure 机器学习工作室”选项卡并返回到 Azure 门户。
- 在 Azure 门户的主页上,选择“资源组”。
- 选择“rg-dp100-…”资源组。
- 在资源组的“概述”页的顶部,选择“删除资源组”。
- 输入资源组名称以确认要删除该资源组,然后选择“删除”。