Data-Science-For-Beginners 课程实践:在 Azure ML 上以 Low code/No code 方式完成“训练—部署—消费“全流程项目
2026/9/15 14:55:59 网站建设 项目流程

Data-Science-For-Beginners 课程实践:在 Azure ML 上以 Low code/No code 方式完成"训练—部署—消费"全流程项目

【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners

导读

本文基于 Data-Science-For-Beginners 开源课程第五章(Data Science in the Cloud)第 18 课的课后作业任务展开,讲解如何在不编写训练代码的前提下,仅通过 Azure Machine Learning Studio 的图形界面,完成一个完整的机器学习项目:寻找并上传数据集、用 AutoML 自动训练模型、检查模型解释、将最佳模型部署为 Web 服务,并通过 REST 端点消费模型返回预测结果。读完本文,你将掌握一套可复制的 Low code/No code 数据科学项目工作流,并理解作业评分标准中各项要求的实际落地点。

该课程的英文原版作业位于 5-Data-Science-In-Cloud/18-Low-Code/assignment.md,配套课程正文位于 5-Data-Science-In-Cloud/18-Low-Code/README.md,法文翻译版作业即本文对应文档:translations/fr/5-Data-Science-In-Cloud/18-Low-Code/assignment.md。

一、作业目标:复现课程中的端到端项目

课程正文(README)以"心力衰竭预测(Heart Failure Prediction)"为示例项目,演示了两种构建数据科学项目的方式:Low code/No code 方式(纯图形界面操作)与Azure ML SDK 方式(编写 Python 代码),整体流程如下:

两种方式的定位差异决定了各自的适用场景,也直接影响你在作业中的做法:

对比维度Low code/No codeAzure ML SDK
代码能力要求不要求要求
开发速度快速、简单取决于代码能力
生产就绪程度

Low code/No code 方式的优势在于无需任何编码知识即可通过 GUI 快速验证项目可行性、产出概念验证(POC);而当项目规模扩大、需要生产化时,GUI 无法高效管理资源,就需要通过 SDK 以编程方式自动化一切——从资源创建到模型部署。这一点也是课程第 19 课(5-Data-Science-In-Cloud/19-Azure/README.md)中 SDK 方式所要解决的问题。

本次作业(assignment)要求你不要使用课程自带的示例数据集,而是自主完成以下闭环:寻找可用于训练的数据 → 在 Azure ML 上用 AutoML 训练模型 → 部署最佳模型 → 成功消费(调用)该模型。官方建议的数据来源包括 Kaggle 与 Azure Open Datasets。

二、作业评分标准逐项拆解

作业原文提供了一张三级评分表(Rubric),它是检验你是否完成作业的硬性标准:

等级要求
出色(Exemplary)上传数据时主动按需修改特征类型;必要时清洗数据;通过 AutoML 完成训练并检查模型解释;部署最佳模型并成功消费
合格(Adequate)上传数据时主动按需修改特征类型;通过 AutoML 完成训练,部署最佳模型并成功消费
待改进(Needs Improvement)仅完成"部署 AutoML 训练出的最佳模型并成功消费"

从评分表可以提炼出四个关键技术动作,本文后续章节将逐一展开:

  1. 特征类型修改:数据上传后,在 Schema 阶段将分类特征显式改为布尔(Boolean)类型;
  2. 数据清洗:根据数据质量按需处理缺失值、异常值等;
  3. 模型解释(Explanations):训练完成后查看 AutoML 生成的模型解释,理解特征对预测结果的影响;
  4. 部署与消费:将最佳模型部署为实时端点,并通过 REST 请求消费获得预测。

三、准备工作:理解工作区与算力资源

在开始作业前,需要先建立 Azure ML 的基础设施认知。Azure ML 工作区(Workspace)是 Azure Machine Learning 的顶层资源,集中管理训练运行历史(日志、指标、输出、脚本快照),这些信息正是判断"哪个训练运行产生了最佳模型"的依据。

成本提醒:只要工作区存在于订阅中,就会为数据存储产生小额费用;完成作业后请记得删除不再使用的资源。

3.1 创建 Azure ML 工作区

  1. 使用 Azure 订阅对应的 Microsoft 凭据登录 Azure 门户;
  2. 选择+Create a resource,搜索并选择 Machine Learning,点击创建;
  3. 填写配置:订阅、资源组、唯一的工作区名称、就近的区域;存储账户、Key Vault、Application Insights 会默认新建;Container registry 选择 None(首次部署模型到容器时会自动创建);
  4. 等待工作区创建完成(约几分钟),在门户中进入工作区概览页,启动 Azure Machine Learning Studio(或直接访问 https://ml.azure.com),用 Microsoft 账户登录并选择你的目录、订阅与工作区;
  5. 在 Studio 左上角通过 ☰ 图标展开各管理页面。

3.2 计算资源:为 AutoML 准备计算集群

计算资源是运行模型训练与数据探索的云资源,共四种类型:

  • 计算实例(Compute Instances):数据科学家的开发工作站(虚拟机 + Notebook 实例);
  • 计算集群(Compute Clusters):可按需伸缩的 VM 集群,用于执行实验代码,训练模型必需
  • 推理集群(Inference Clusters):面向预测服务的部署目标;
  • 附加计算(Attached Compute):关联现有 Azure 计算资源(VM、Databricks 集群等)。

创建计算资源时四个关键决策直接影响成本与训练速度:

  • CPU 还是 GPU:CPU 串行能力强、价格低,但并发有限;GPU 擅长并行计算,是深度学习的首选,代价是更贵;
  • 集群大小:大集群响应更快但更贵——时间多预算少选小集群,反之选大集群;
  • VM 大小:RAM、磁盘、核心数与时钟频率越高性能越好,成本也越高;
  • 专用实例还是低优先级实例:低优先级实例可被 Azure 回收(可中断),更便宜;专用实例不可中断,任务不会未经许可被终止。

本作业建议创建计算集群:在 Studio 中点击Compute → Compute cluster → +New,选择 Dedicated/Low priority、CPU/GPU、VM 大小与核心数(本项目可保留默认),命名集群,设置最小/最大节点数、缩容空闲秒数与 SSH 访问。最小节点数为 0 可让空闲集群零成本,最大节点数建议不超过 3(节点越多训练越快)。

四、核心步骤一:上传数据集并修正特征类型

课程示例使用 Kaggle 公开的 Heart Failure 数据集——一个 13 列(12 个特征 + 1 个目标变量)、299 行的表格数据。作业要求你寻找自己的数据集,但上传流程完全一致:

  1. 在 Azure ML 工作区左侧菜单点击Datasets → +Create dataset,选择From local files,选中本地下载的数据文件;
  2. 为数据集命名、选择类型、填写描述,上传文件;
  3. 在 Schema 阶段按需修改特征类型。课程示例将anaemiadiabeteshigh_blood_pressuresexsmokingDEATH_EVENT显式改为 Boolean 类型——这就是评分表中"修改特征类型"的落地点:正确的类型标注能帮助 AutoML 选择更合适的算法与预处理方式。

以课程的心力衰竭数据为例,其字段构成可供你在自选数据集时参考(注意DEATH_EVENT是目标变量):

变量名类型描述
age数值患者年龄
anaemia布尔红细胞或血红蛋白是否减少
creatinine_phosphokinase数值血液中 CPK 酶水平
diabetes布尔患者是否患有糖尿病
ejection_fraction数值每次收缩时离开心脏的血液百分比
high_blood_pressure布尔患者是否患有高血压
platelets数值血液中的血小板数量
serum_creatinine数值血清肌酐水平
serum_sodium数值血清钠水平
sex布尔女性或男性
smoking布尔患者是否吸烟
time数值随访期(天)
DEATH_EVENT(目标)布尔随访期内患者是否死亡

五、核心步骤二:用 AutoML 训练模型并检查模型解释

AutoML(自动机器学习)将传统模型开发中耗时、重复的迭代过程自动化——传统方式需要大量领域知识去训练和比较几十个模型,而 AutoML 让数据科学家、分析师和开发者以更高的规模、效率与生产力构建模型,同时保持模型质量。

在 Studio 中完成训练:

  1. 左侧菜单点击Automated ML,选择刚上传的数据集,点击 Next;
  2. 输入新的实验名称、指定目标列(课程示例为DEATH_EVENT)、选择已创建的计算集群;
  3. 根据任务类型选择Classification(如果是预测连续数值则选 Regression,时间序列则选 Time series forecasting),点击 Finish。训练时长约 30 分钟到 1 小时,取决于计算集群大小;
  4. 运行完成后进入Automated ML标签页,点击你的运行,在Best model summary卡片中查看 AutoML 选出的最佳算法。

在最佳模型详情页中,可以查看 AutoML 生成的最佳模型的详细描述,也可在 Models 标签页探索其余被比较的模型。务必花时间点击 Explanations(预览)查看模型解释——这是评分表"出色"等级的关键分项,它揭示了各特征对预测结果的贡献程度,也是作业后续 Challenge 环节("为什么最佳模型优于其他模型?比较了哪些算法?")的分析素材。

六、核心步骤三:部署最佳模型为 Web 服务

部署是把模型集成到业务系统中、使其能对新数据做出预测的关键环节。对于心力衰竭项目,部署为 Web 服务意味着医疗应用可以调用模型,对患者的心脏病发作风险进行实时预测。

  1. 在最佳模型描述页点击Deploy按钮;
  2. 填写名称与描述,计算类型选择Azure Container Instance(ACI),启用认证(Enable authentication),点击 Deploy。部署过程约需 20 分钟,包含注册模型、生成资源、为 Web 服务配置等步骤;
  3. 部署状态显示在Deploy status下,可定期点击 Refresh 刷新,状态变为Healthy即表示部署成功;
  4. 部署完成后切换到Endpoint标签页,点击刚部署的端点,可查看端点的全部细节。

注意:启用认证后,调用端点时需要携带 API Key;这也是消费脚本中api_key变量的来源。

七、核心步骤四:通过 REST 端点消费模型

在端点的Consume标签页中,可以找到 REST 端点地址以及一份可直接在本地机器运行的 Python 消费脚本。脚本的关键是这两行:

url = 'http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score' api_key = '' # Replace this with the API key for the web service
  • url:Consume 标签页中展示的 REST 端点地址;
  • api_key:启用认证后,在 Consume 标签页中获取的主密钥(Primary Key)。

7.1 首次运行:理解默认输出

直接运行脚本(脚本内自动生成的样本数据全部为 0 或 false)会得到如下输出:

b'"{\\"result\\": [true]}"'

true表示对当前输入预测为"发生心力衰竭",这是因为默认样本数据的特征值都指向风险状态。你可以把数据替换为更贴近真实临床场景的输入:

data = { "data": [ { 'age': "0", 'anaemia': "false", 'creatinine_phosphokinase': "0", 'diabetes': "false", 'ejection_fraction': "0", 'high_blood_pressure': "false", 'platelets': "0", 'serum_creatinine': "0", 'serum_sodium': "0", 'sex': "false", 'smoking': "false", 'time': "0", }, { 'age': "60", 'anaemia': "false", 'creatinine_phosphokinase': "500", 'diabetes': "false", 'ejection_fraction': "38", 'high_blood_pressure': "false", 'platelets': "260000", 'serum_creatinine': "1.40", 'serum_sodium': "137", 'sex': "false", 'smoking': "false", 'time': "130", }, ], }

再次运行,脚本应返回:

b'"{\\"result\\": [true, false]}"'

即第一个高风险样本预测为true(发生心力衰竭)、第二个相对健康的样本预测为false。至此,你已完成"训练 → 部署 → 消费"的完整闭环。

八、收尾与进阶思考

  • 清理资源:项目结束后,务必删除工作区及相关资源,避免持续产生存储与计算费用。
  • Challenge 思考题:深入查看 AutoML 为前列模型生成的解释与详情,尝试回答——AutoML 比较了哪些算法?它们之间的差异是什么?为什么在这个数据集上最佳模型表现更好?这类分析正是评分表"检查模型解释"的延伸。
  • 后续学习路径:本课程对应的 SDK 版本位于 5-Data-Science-In-Cloud/19-Azure/,内含可运行的 notebook.ipynb 与 solution,可用于对比"图形界面方式"与"代码方式"在资源创建、训练、部署全流程上的差异;更完整的云端数据科学背景可回顾 5-Data-Science-In-Cloud/17-Introduction/README.md。

通过本作业,你将直观体会到 Low code/No code 方式"快且易上手"的优势,同时建立起对 AutoML、模型注册、端点部署与 REST 调用等概念的具体认知,为后续转向 Azure ML SDK 的工程化实践打下基础。

【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询