探索 Azure 机器学习中的自动化机器学习
在本练习中,你将使用 Azure 机器学习中的自动化机器学习功能来训练和评估机器学习模型。 然后,你将部署并测试已训练的模型。
完成此练习大约需要 30 分钟。
创建 Azure 机器学习工作区
若要使用 Azure 机器学习,需要在 Azure 订阅中预配 Azure 机器学习工作区。 然后,你就可以使用 Azure 机器学习工作室来处理工作区中的资源。
提示:如果已有 Azure 机器学习工作区,可以使用该工作区并跳至下一个任务。
-
在
https://portal.azure.com
使用 Microsoft 凭据登录Azure 门户。 - 选择“+创建资源”,搜索“机器学习”,然后通过以下设置创建新“Azure 机器学习”资源:
- 订阅:Azure 订阅。
- 资源组:创建或选择资源组。
- 名称:输入工作区的唯一名称。
- 区域:选择离你最近的地理区域。
- 存储帐户:记下要为工作区创建的默认新存储帐户。
- 密钥保管库:记下要为工作区创建的默认新密钥保管库。
- Application Insightss:记下要为工作区创建的默认新 Application Insights 资源。
- 容器注册表:无(第一次将模型部署到容器时,将自动创建一个)。
-
依次选择“查看 + 创建”、“创建”。 等待工作区创建完成(可能需要几分钟时间),然后转到部署的资源。
-
选择“启动工作室”(或打开新的浏览器标签页并导航到 https://ml.azure.com,然后使用 Microsoft 帐户登录 Azure 机器学习工作室)。 关闭显示的任何消息。
- 在 Azure 机器学习工作室中,应会看到新创建的工作区。 如果没有,请在左侧菜单中选择“所有工作区”**,然后选择刚创建的工作区。
使用自动化机器学习来训练模型
借助自动化机器学习,可以尝试多种算法和参数来训练多个模型,并确定最适合你的数据的模型。 在本练习中,你将使用历史自行车租赁详细信息数据集来训练一个模型,该模型根据季节和气象特征预测给定日期应预期的自行车租赁数。
引文:本练习中使用的数据派生自 Capital Bikeshare,并根据已发布数据许可协议使用。
-
在 Azure 机器学习工作室中,查看“自动化 ML”页(位于“创作”下) 。
-
通过以下设置创建新自动化 ML 作业,并根据需要使用“下一步”来逐步完成用户界面:
基本设置:
- 作业名称:
mslearn-bike-automl
- 新试验名称:
mslearn-bike-rental
- 说明:用于预测自行车租赁的自动化机器学习
- 标签:无
任务类型与数据:
- 选择任务类型:回归
- 选择数据集:使用以下设置创建新数据集:
- 数据类型:
- 名称:
bike-rentals
- 说明:
Historic bike rental data
- 类型:表(mltable)
- 名称:
- 数据源:
- 选择“从本地文件”**
- 目标存储类型:
- 数据存储类型:Azure Blob 存储
- 名称:workspaceblobstore
- MLtable 选择:
- 上传文件夹:下载并解压包含需要上传的两个文件的文件夹
https://aka.ms/bike-rentals
- 上传文件夹:下载并解压包含需要上传的两个文件的文件夹
选择创建。 创建数据集后,选择 bike-rentals 数据集以继续提交自动化 ML 作业。**
- 数据类型:
任务设置:
- 任务类型:回归
- 数据集:bike-rentals
- 目标列:租赁数(整数)
- 其他配置设置:
- 主要指标:NormalizedRootMeanSquaredError
- 说明最佳模型:未选择
- 启用整体堆叠:未选定**
- 使用所有受支持的模型:未选择。 你将限制作业,仅尝试一些特定的算法。
- 允许的模型:仅选择 RandomForest 和 LightGBM - 通常,你想尽可能多地尝试,但添加的每个模型都会增加运行作业所需的时间。* *
- 限制:展开此节
- 最大试用数:
3
- 最大并发试用数:
3
- 最大节点数:
3
- 指标分数阈值:
0.085
(如果模型的标准均方根误差指标分数为0.085 或更低,则作业会结束。) - eXPERIMENT 超时:
15
- 迭代超时:
15
- 启用提前终止:已选择
- 最大试用数:
- 验证和测试:
- 验证类型:训练验证拆分
- 验证数据百分比:10
- 测试数据集:无
计算:
- 选择计算类型:无服务器
- 虚拟机类型:CPU
- 虚拟机层:专用
- 虚拟机大小:*Standard_DS3_V2
- 实例数:1
* 如果订阅限制了你可用的 VM 大小,请选择任何可用的大小。**
- 作业名称:
-
提交训练作业。 它会自动启动。
-
请等待作业完成。 这可能需要一段时间 - 这段时间正好可以喝杯咖啡休息一下!
查看最佳模型
自动化机器学习作业完成后,可以查看它训练的最佳模型。
-
在自动化机器学习作业的“概述”选项卡上,记下最佳模型摘要。
注意:你可能会在状态下看到消息“警告: 已达到用户指定的退出分数…”。 这是预期的消息。 请继续执行下一步。
-
选择最佳模型的“算法名称”下的文本,以查看其详细信息。
-
选择“指标”选项卡,然后选择“残差”和“predicted_true”图标(如果尚未选择)。
查看显示模型性能的图表。 “残差”图表以直方图显示残差(预测值与实际值之间的差异)。 predicted_true 图表将预测值与 true 值进行比较。
部署并测试模型
- 在自动化机器学习作业训练的最佳模型的“模型”选项卡上,选择“部署”并使用“实时终结点”选项通过以下设置来部署模型:****
- 虚拟机:Standard_DS3_v2
- 实例计数:3
- 终结点:新建
- 终结点名称:保留默认值或确保其全局唯一
- 部署名称:保留默认值**
- 推理数据收集**:已禁用
- 包模型:已禁用
- 等待部署开始 - 这可能需要几秒钟。 在页面的主要部分,“predict-rentals”终结点的“部署状态”将显示为“正在运行”。
- 等待“部署状态”更改为“已成功”。 这可能需要 5-10 分钟。
测试已部署的服务
现在,可以测试已部署的服务。
-
在 Azure 机器学习工作室的左侧菜单中,选择“终结点”,然后打开“predict-rentals”实时终结点。
-
在“predict-rentals”实时终结点页上,查看“测试”选项卡。
-
在“输入数据以测试终结点”窗格中,将模板 JSON 替换为以下输入数据:
{ "input_data": { "columns": [ { "day": 1, "mnth": 1, "year": 2022, "season": 2, "holiday": 0, "weekday": 1, "workingday": 1, "weathersit": 2, "temp": 0.3, "atemp": 0.3, "hum": 0.3, "windspeed": 0.3 } ], "index": [], "data": [] } }
-
单击“测试”按钮**。
-
查看测试结果,其中包括根据输入特征预测的租赁次数,与此类似:
{ "Results": [ 444.27799000000000 ] }
测试窗格采用输入数据,然后使用训练的模型返回预测的租赁次数。
我们来回顾一下你的操作。 使用历史自行车租赁数据的数据集来训练模型。 该模型基于季节和气象特征预测给定日的自行车租赁数。
清理
你创建的 Web 服务托管于“Azure 容器实例”中。 如果不打算进一步试验它,应删除终结点以避免产生不必要的 Azure 使用量。
-
在 Azure 机器学习工作室的“终结点”选项卡上,选择“predict-rentals”终结点。 然后选择“删除”,并确认是否要删除该终结点。
删除计算可确保不会向你的订阅收取计算资源的费用。 但是,只要订阅中存在 Azure 机器学习工作区,就会向你收取少量数据存储费用。 如果已完成对 Azure 机器学习的探索,可以删除 Azure 机器学习工作区和关联的资源。
删除工作区的步骤:
- 在 Azure 门户的“资源组”页中,打开在创建 Azure 机器学习工作区时指定的资源组。
- 单击“删除资源组”,键入资源组名称以确认要删除资源组,然后选择“删除”。