无需代码经验的机器学习入门第一天 - 训练AutoML 分类模型
分类: Azure机器学习 ◆ 标签: #Azure #人工智能 #机器学习 #AutoML #Azure Machine Learning Studio #设计器 ◆ 发布于: 2023-06-11 22:15:20
真正的大杀器来了! - Azure Machine Learning Studio!!
我们前面学习过了通过Python AutoML SDK配合Jupyter的来训练回归模型,如果大家没有什么印象,可以通过文章结尾的文章列表重温一下: 在这些实例中我们使用了Python代码进行数据预处理,然后使用SDK进行AutoML的模型训练,我们写了很多代码,今天我们来给大家演示如果通过Azure提供的工具无需写任何一行代码仅仅只需要几个小小的配置就能完整一个分类AutoML模型的训练。
那么我们就开始吧。
开始之前,请点击这里下载我们需要的实例数据:https://automlsamplenotebookdata.blob.core.windows.net/automl-sample-notebook-data/bankmarketing_train.csv
使用Studio进行AutoML分类模型训练
在本章所有的训练都无需写任何的代码,这对于非程序是非常友好的,即便是程序员也能使用Studio提供的便利功能大大介绍项目的开发成本,我们在本节中即将做如下的事情:
- 创建一个
Azure Machine Learning的workspace - 运行一个Auto ML的
experiment - 查看
experiment运行细节。 - 部署模型
在开始之前,你至少需要有一个Azure订阅,以及从这里下载一个预先准备好的数据文件https://automlsamplenotebookdata.blob.core.windows.net/automl-sample-notebook-data/bankmarketing_train.csv
创建Azure Machine Learning的workspace
创建Azure Machine Learning的workspace非常直观,只需要登录到Azure的portal, 然后在marketplace里搜索Machine Lerning, 然后按照提示一步一步操作就可以了。
关于如何创建一个workspace, 你可以参考文档https://docs.azure.cn/zh-cn/machine-learning/how-to-manage-workspace?tabs=python
创建完成后,进入到Azure Machine Learning的概要页面,点击Launch Studio启动Azure Machine Learning Studio工具,

启动后,studio的全貌如下图:

下面我们将使用Studio工具进行Auto ML 分类模型训练
创建数据集(DataSet)
在之前的文章中我们已经学习过了Azure ML基本的数据处理概念和工具,在Azure ML中使用Store和DataSet来表示数据处理概念和工具。在我们使用Python SDK的时候,可以使用代码来创建数据存储(store)和数据集(dataset),然后将dataset 挂载(mount)到用于训练的机器上,代码可以像使用本地文件系统一样来使用存储在Azure Storage Blob里的数据, 关于这个部分,您可以从这篇文章来复习一下。本章中我们使用Studio来可视化的创建store和dataset,并应用于Auto ML。
启动Studio之后,选择左侧的菜单数据集,如下图:

然后选择创建数据集,并选择从本地文件

在出现的第一个界面,开始创建数据集,需要注意的是Azure Auto ML仅仅支持表格形式的数据:

给数据集起一个名字,然后数据集类型选择表格, 添加描述,然后下一步:

注意:
- 数据存储和文件选择,选择默认的
workspaceblobstore, 这是workspace创建时默认会创建一个storage - 选择
上传文件选择刚刚下载的文件bankmarketing_train.csv, 然后下一步:
请注意按照上图所示设置,特别需要注意文件格式, 分隔符, 编码, 列标题等等设置,然后下一步

开始进入了数据Schema预览和设置的部分,例如本例中我们不需要列数据day_of_week, 即可以通过开关不包含该列数据,设置后下一步:

最后一步,预览一下数据集的配置,然后点击创建,完成数据集创建。
创建计算群集
创建了数据集之后,我们需要再创建用于模型训练的数据群集。
打开studio之后,选择左侧的菜单:计算, 然后选择计算群集, 如下图:

点击新建之后

在出现的界面之后,选择位置, 虚拟机优先级选择专用, 虚拟机类型选择CPU, 虚拟机大小可以选择Standard_DS2_v2, 然后选择下一步

输入集群名称,节点数下限选择0, 节点数上限4,然后选择下一步。

计算集群创建完成。
创建Auto ML任务
创建完数据集和计算集群之后,可以开始正是的使用studio来创建Auto ML experiment任务。
回到studio首页之后,选择左侧菜单的自动化ML, 然后选择新建自动化ML运行

在出现的界面里选择刚刚创建的数据集:

在出现的界面里选择刚刚创建的数据集:

这里输入experiment的名字my-1st-automl-experiment, 然后最需要注意的是:选择我们需要预测的数据列, 我们这里选择数据列y(string), 选择用于计算的群集为刚刚创建的群集,然后下一步

在本部我们需要选择算法类型,本例中我们选择分类, 然后选择查看其他配置设置, 在出现的对话框里按照对话框里进行分类的参数设置:

然后点击下一步:

至此,Azure Auto ML类型开始进行了训练,一切全部自动,在出现的界面里可以查看各种信息,如下图:

部署
等候训练完成后,进入左侧菜单试验(experiment), 找到刚刚创建的试验: my-1st-automl-experiment, 点击进入后,如下图:

选择运行的ID, 进入该运行的概要, 然后选择模型,如下图:

在上图选择查看解释,如下图:

点击部署, 根据提示即可将已经训练好的模型部署到Azure AKS或者Azure容器实例, 同时你可以将自己的自建的k8s继承进来,如下图:

至此我们已经使用Studio工具完成了一个Auto ML的分类模型训练以及部署,可以看到整个过程中,没有写一行代码,完全只需要在图形界面上配置就可以了,这个大大降低了模型开发的难度。
我们总结一下使用Studio 进行AutoML模型训练的基本步骤:
- 数据载入和处理
- 选择用于计算的计算集群
- 选择计算的模型类型,需要注意的是Azure AutoML 仅仅支持:分类,基于时序数据预测,回归
- 运行experiment
- 查看训练模型
- 部署模型