Azure 机器学习 - 使用无代码 AutoML 训练分类模型

2023-11-08 14:38:12 浏览数 (1)

了解如何在 Azure 机器学习工作室中使用 Azure 机器学习自动化 ML,通过无代码 AutoML 来训练分类模型。 此分类模型预测某个金融机构的客户是否会认购定期存款产品。 关注TechLead,分享AI全维度知识。作者拥有10 年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

一、环境准备

  • Azure 订阅。 如果还没有 Azure 订阅,可以创建一个免费帐户。
  • 下载 bankmarketing_train.csv 数据文件。 y 列指示客户是否认购了定期存款产品,该列稍后在本教程中将标识为预测目标列。

二、创建工作区

Azure 机器学习工作区是云中的基础资源,用于试验、训练和部署机器学习模型。 它将 Azure 订阅和资源组关联到服务中一个易于使用的对象。

在本教程中,请完成以下步骤来创建一个工作区,然后继续学习本教程。

  1. 登录到 Azure 机器学习工作室
  2. 选择“创建工作区”
  3. 提供以下信息来配置新工作区:

字段

说明

工作区名称

输入用于标识工作区的唯一名称。 名称在整个资源组中必须唯一。 使用易于记忆且区别于其他人所创建工作区的名称。 工作区名称不区分大小写。

订阅

选择要使用的 Azure 订阅。

资源组

使用订阅中的现有资源组,或者输入一个名称以创建新的资源组。 资源组保存 Azure 解决方案的相关资源。 需要“参与者”或“所有者”角色才能使用现有资源组。 有关访问权限的详细信息,请参阅管理对 Azure 机器学习工作区的访问权限。

区域

选择离你的用户和数据资源最近的 Azure 区域来创建工作区。

  1. 选择“创建”以创建工作区

有关 Azure 资源的详细信息,请参阅创建入门所需的资源一文中的步骤。

有关在 Azure 中创建工作区的其他方法,请参阅在门户中或使用 Python SDK (v2) 管理 Azure 机器学习工作区。


三、创建自动化机器学习作业

通过 https://ml.azure.com 处的 Azure 机器学习工作室完成以下试验设置和运行步骤,这是一个综合性的 Web 界面,其中包括了为所有技能级别的数据科学实践者执行数据科学方案所需的机器学习工具。 Internet Explorer 浏览器不支持此工作室。

  1. 选择创建的订阅和工作区。
  2. 在左窗格的“创作”部分,选择“自动化 ML”。 由于这是你的第一个自动化 ML 试验,因此会看到空列表和文档链接。
  1. 选择“ 新建自动化 ML 作业”。

四、创建数据集并将其加载为数据资产

在配置试验之前,请以 Azure 机器学习数据资产的形式将数据文件上传到工作区。 在本教程中,可以将数据资产看作是 AutoML 作业的数据集。 这可以确保数据格式适合在试验中使用。

  1. 从“ 创建数据资产”下拉菜单选择“从本地文件”,创建新的数据资产。
    1. 在“基本信息”窗体中,为数据资产指定名称,并提供可选的说明。 自动化 ML 当前仅支持 TabularDataset,因此,数据集类型应当默认设置为“表格”。
    2. 在左下角选择“下一步”
    3. 在“数据存储和文件选择”窗体上,选择在创建工作区期间自动设置的默认数据存储“workspaceblobstore(Azure Blob 存储)”。 你可以在此数据存储中上传数据文件,使其可用于你的工作区。
    4. 在“上传”下拉菜单中,选择“上传文件”。
    5. 选择本地计算机上的 bankmarketing_train.csv 文件。 这是作为必备组件下载的文件。
    6. 在底部左侧选择“下一步”,将其上传到在创建工作区期间自动设置的默认容器。 在上传完成后,系统会根据文件类型预先填充“设置和预览”表单。
    7. 验证是否通过“架构”窗体正确设置了数据的格式。 应按如下所示填充数据。 验证确认数据准确后,选择“下一步”。 | 字段 | 说明 | 教程的值 | | --- | --- | --- | | 文件格式 | 定义文件中存储的数据的布局和类型。 | 带分隔符 | | 分隔符 | 一个或多个字符,用于指定纯文本或其他数据流中不同的独立区域之间的边界。 | 逗号 | | 编码 | 指定字符架构表中用于读取数据集的位。 | UTF-8 | | 列标题 | 指示如何处理数据集的标头(如果有)。 | 所有文件都具有相同的标题 | | 跳过行 | 指示要跳过数据集中的多少行(如果有)。 | 无 |
    8. 通过“架构”窗体,可以进一步为此试验配置数据。 对于本示例,为 day_of_week 选择切换开关,以使其不包含在内。 选择“下一页”。
    1. 在“确认详细信息”窗体上,确认信息与先前在“基本信息”、“数据存储和文件选择”和“设置和预览”窗体上填充的内容匹配。
    2. 选择“创建”以完成数据集的创建。
    3. 当数据集出现在列表中时,则选择它。
    4. 选择数据资产并查看填充的“预览”选项卡来查看数据,确保不包含 day_of_week,然后选择“关闭”。
    5. 选择“下一页”。

五、配置作业

加载并配置数据后,可以设置试验。 此设置包括试验设计任务,如选择计算环境大小以及指定要预测的列。

  1. 选择“新建”单选按钮。
  2. 按如下所述填充“配置作业”窗体:
    1. 若要使用无服务器计算,请启用预览功能,选择“无服务器”,然后跳过此步骤的其余部分。
    2. 若要创建自己的计算目标,请选择“ 新建”以配置计算目标。
    3. 填充“选择虚拟机”窗体以设置计算。 | 字段 | 说明 | 教程的值 | | --- | --- | --- | | 位置 | 要从中运行计算机的区域 | 美国西部 2 | | 虚拟机层 | 选择试验应具有的优先级 | 专用 | | 虚拟机类型 | 选择计算的虚拟机大小。 | CPU(中央处理单元) | | 虚拟机大小 | 指定计算资源的虚拟机大小。 根据数据和试验类型提供了建议的大小列表。 | Standard_DS12_V2 |
    4. 选择“下一步”以填充“配置设置窗体”。 | 字段 | 说明 | 教程的值 | | --- | --- | --- | | 计算名称 | 用于标识计算上下文的唯一名称。 | automl-compute | | 最小/最大节点数 | 若要分析数据,必须指定一个或多个节点。 | 最小节点数:1 最大节点数:6 | | 缩减前的空闲秒数 | 群集自动缩减到最小节点数之前的空闲时间。 | 120(默认值) | | 高级设置 | 用于为试验配置虚拟网络并对其进行授权的设置。 | 无 |
    5. 选择“创建”,创建计算目标。 完成此操作需要数分钟的时间。
    1. 创建后,从下拉列表中选择新的计算目标。
    2. 输入以下试验名称:my-1st-automl-experiment
    3. 选择“y”作为用于执行预测的目标列。 此列指示客户是否认购了定期存款产品。
    4. 选择“计算群集”作为计算类型。
    5. 计算目标是本地的或基于云的资源环境,用于运行训练脚本或托管服务部署。 对于此试验,可以尝试基于云的无服务器计算(预览版),也可以创建自己的基于云的计算。
    6. 选择“下一步”。
  3. 在“选择任务和设置”窗体上,通过指定机器学习任务类型和配置设置来完成自动化 ML 试验的设置。
    1. 选择“分类”作为机器学习任务类型。
    2. 选择“查看其他配置设置”并按如下所示填充字段。 使用这些设置可以更好地控制训练作业。 否则,将会根据试验选择和数据应用默认设置。 | 其他配置 | 说明 | 教程的值 | | --- | --- | --- | | 主要指标 | 对机器学习算法进行度量时依据的评估指标。 | AUC_weighted | | 解释最佳模型 | 自动显示有关自动化 ML 创建的最佳模型的可解释性。 | 启用 | | 阻止的算法 | 要从训练作业中排除的算法 | 无 | | 其他分类设置 | 这些设置有助于改善模型的准确度 | 正类标签:无 | | 退出条件 | 如果符合某个条件,则会停止训练作业。 | 训练作业时间(小时):1 指标分数阈值:无 | | 并发 | 每次迭代执行的并行迭代的最大数目 | 最大并发迭代数:5 | 选择“保存”。
    3. 选择“下一步” 。
  4. 在“[可选]验证和测试”窗体上,
    1. 选择“k-折交叉验证”作为“验证类型”。
    2. 选择“2”作为“交叉验证次数”。
  5. 选择“完成”以运行试验。 当试验准备开始时,将打开“作业详细信息”屏幕并且会在顶部显示“作业状态”。 此状态随着试验的进行而更新。 通知也会显示在工作室的右上角,以告知你试验的状态。

六、浏览模型

导航到“模型”选项卡,以查看测试的算法(模型)。 默认情况下,这些模型在完成后按指标分数排序。 对于本教程,列表中首先显示评分最高的模型(评分根据所选 AUC_weighted 指标给出)。

在等待所有试验模型完成的时候,可以选择已完成模型的“算法名称”,以便浏览其性能详细信息。

以下示例将浏览“详细信息”和“指标”选项卡,以查看选定模型的属性、指标和性能图表。


七、模型说明

在等待模型完成时,你还可以查看模型说明,了解哪些数据特征(原始的或经过工程处理的)影响特定模型的预测。

可以按需生成这些模型说明,“说明(预览版)”选项卡的模型说明仪表板中汇总了这些模型说明。

若要生成模型说明,请执行以下操作:

  1. 选择顶部的“作业 1”导航回“模型”屏幕。
  2. 选择“模型”选项卡。
  3. 对于本教程,请选择第一个“MaxAbsScaler, LightGBM”模型。
  4. 选择顶部的“说明模型”按钮。 此时右侧会显示“说明模型”窗格。
  5. 选择你之前创建的“automl-compute”。 此计算群集会启动一个子作业来生成模型说明。
  6. 选择底部的“创建”。 屏幕顶部会出现一条绿色的成功消息。
  7. 选择“说明(预览版)”按钮。 在模型说明运行完成后,此选项卡就会进行填充。
  8. 在左侧展开该窗格,然后在“特征”下选择显示了“原始”的行。
  9. 选择右侧的“聚合特征重要性”选项卡。 此图表显示了影响所选模型的预测的数据特征。 在此示例中,“持续时间”看起来对此模型的预测影响最大。

八、部署最佳模型

使用自动化机器学习界面,你可以通过几个步骤将最佳模型部署为 Web 服务。 部署是模型的集成,因此它可以对新数据进行预测并识别潜在的机会领域。

对于本试验,部署到 Web 服务意味着金融机构现已获得一个迭代和可缩放的 Web 解决方案,用于识别潜在的定期存款客户。

检查试验运行是否完成。 为此请选择屏幕顶部的“作业 1”导航回父作业页。 “已完成”状态将显示在屏幕的左上角。

试验运行完成后,“详细信息”页中会填充“最佳模型摘要”部分。 在此试验上下文中,根据 AUC_weighted 指标,VotingEnsemble 被视为最佳模型。

我们将部署此模型,但请注意,部署需要大约 20 分钟才能完成。 部署过程需要几个步骤,包括注册模型、生成资源和为 Web 服务配置资源。

  1. 选择“VotingEnsemble”打开特定于模型的页面。
  2. 选择左上方的“部署”菜单,然后选择“部署到 Web 服务”。
  3. 按如下所示填充“部署模型”窗格: | 字段 | 值 | | --- | --- | | 部署名称 | my-automl-deploy | | 部署说明 | 我的第一个自动化机器学习试验部署 | | 计算类型 | 选择 Azure 容器实例 (ACI) | | 启用身份验证 | 禁用。 | | 使用自定义部署 | 禁用。 允许自动生成默认驱动程序文件(评分脚本)和环境文件。 | 本示例使用“高级”菜单中提供的默认值。
  4. 选择“部署”。 “作业”屏幕的顶部会以绿色字体显示一条成功消息,“模型摘要”窗格中的“部署状态”下会显示一条状态消息。 定期选择“刷新”以检查部署状态。

现在,你已获得一个正常运行的、可以生成预测结果的 Web 服务。

转到后续步骤详细了解如何使用新的 Web 服务,以及如何使用 Power BI 的内置 Azure 机器学习支持来测试预测。

九、清理资源

部署文件比数据文件和试验文件更大,因此它们的存储成本也更大。 仅当你想要最大程度地降低帐户成本,或者想要保留工作区和试验文件时,才删除部署文件。 否则,如果你不打算使用任何文件,请删除整个资源组。

删除部署实例

若要保留资源组和工作区以便在其他教程和探索中使用,请从 https://ml.azure.com/ 处的 Azure 机器学习中仅删除部署实例。

  1. 转到 Azure 机器学习。 导航到你的工作区,然后在“资产”窗格的左下角选择“终结点”。
  2. 选择要删除的部署,然后选择“删除”。
  3. 选择“继续”。

删除资源组

重要

已创建的资源可用作其他 Azure 机器学习教程和操作方法文章的先决条件。

如果你不打算使用已创建的任何资源,请删除它们,以免产生任何费用:

  1. 在 Azure 门户中,选择最左侧的“资源组” 。
  2. 从列表中选择你创建的资源组。
  3. 选择“删除资源组”。
  1. 输入资源组名称。 然后选择“删除”。

0 人点赞