news 2026/9/11 8:19:07

Data-Science-For-Beginners 实战任务:在 Azure ML 上以低代码/无代码方式完成数据科学项目(AutoML 训练、部署与端点调用)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Data-Science-For-Beginners 实战任务:在 Azure ML 上以低代码/无代码方式完成数据科学项目(AutoML 训练、部署与端点调用)

Data-Science-For-Beginners 实战任务:在 Azure ML 上以低代码/无代码方式完成数据科学项目(AutoML 训练、部署与端点调用)

【免费下载链接】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 课程第 18 课(5-Data-Science-In-Cloud/18-Low-Code)的课后作业(Assignment)展开,任务核心是:自主寻找数据集,在 Azure Machine Learning 平台上以**低代码/无代码(Low code/No code)**方式完成模型训练、部署与端点消费的全流程。读完本文,你将掌握从创建 Azure ML 工作区、配置计算集群、上传并清洗数据,到使用 AutoML 训练模型、审查模型解释、部署 Web 服务并调用 REST 端点的完整实战方法,同时能依据官方评分标准自我验收作业成果。

任务总览:这份 Assignment 要求你做什么

课程在 README.md 中演示了如何用 Azure ML 平台以低代码/无代码方式训练、部署并消费一个“心力衰竭预测”模型。随后的 assignment.md 给出了明确的任务指令:

我们已经学习了如何使用 Azure ML 平台以低代码/无代码的方式训练、部署和使用模型。现在,请寻找一些可以用来训练另一个模型的数据,部署并使用它。你可以在KaggleAzure Open Datasets上查找数据集。

把这个任务拆解开,共包含四个可验收的动作:

  1. 找到一份数据集(Kaggle 或 Azure Open Datasets 均可);
  2. 以低代码/无代码方式训练一个模型(复用课程中的 AutoML 工作流);
  3. 部署最佳模型为可调用的 Web 服务;
  4. 成功消费该端点(向 REST 端点发送数据并拿到预测结果)。

任务没有限定主题与算法,给了学习者充分的自主空间;但验收标准(评分标准)对数据质量处理、AutoML 流程完整性、模型解释审查和端到端可消费性都有明确要求,下文将逐一展开。

背景回顾:低代码/无代码与 Azure ML SDK 两条路线

课程中 project-schema 架构图 清晰地展示了同一数据科学项目(以心力衰竭预测为例)的两条实现路径:低代码/无代码路线(在 Studio 图形界面中操作)与Azure ML SDK 路线(编写代码实现)。

两条路线各有优劣,课程的对比结论如下(见 README.md):

维度低代码/无代码Azure ML SDK
代码能力要求不需要需要
开发耗时快速、简单取决于代码熟练度
生产就绪

低代码/无代码方式通过 GUI(图形用户界面)交互,无需任何编码基础,适合快速验证项目可行性、产出概念验证(POC);但当项目规模化、需要生产级交付时,单纯依赖 GUI 难以应对,必须用代码自动完成从资源创建到模型部署的一切环节,这正是 Azure ML SDK 的价值所在。本作业要求你走的正是前一条路线——低代码/无代码,因此你的交付物主要是 Azure ML Studio 中的一系列操作结果,而非代码。

第一步:寻找并准备数据集

数据从哪里找

作业明确推荐了两个数据源:

  • Kaggle:公开数据集社区,覆盖面广,表格类、图像类、文本类数据都很丰富;
  • Azure Open Datasets:微软 Azure 官方维护的公开数据集目录,多为经过整理的结构化数据,质量相对稳定。

建议优先选择表格型(tabular)数据,因为课程演示的 AutoML 分类流程针对的是结构化特征 + 目标列的监督学习场景,表格数据可直接复用课程模板,且便于执行“修改特征类型”和“数据清洗”等评分要求。

参考样例:Heart Failure 数据集的结构

课程以 Kaggle 的 Heart Failure 临床数据集作为样例(README.md):这是一个包含13 列(12 个特征 + 1 个目标变量)和 299 行的表格数据集,用于预测患者随访期内是否发生死亡事件。其字段结构可以为你选择/评估自己的数据集提供参照:

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

注意其中的规律:布尔型特征与目标变量成对出现(如 anaemia、diabetes、high_blood_pressure、sex、smoking 都是 0/1 二值),这直接决定了下一步上传数据时的 Schema 修正工作。你自己的数据集未必是二分类,也可能是多分类或回归问题,但务必明确哪一列是目标列、哪些是特征列。

第二步:搭建 Azure ML 工作区与计算资源

创建 Azure ML 工作区

工作区(Workspace)是 Azure Machine Learning 的顶层资源,集中管理你在使用 Azure ML 过程中产生的所有资产:它会保存所有训练运行的历史记录(日志、指标、输出、脚本快照),你可以据此判断哪次训练运行产出了最佳模型。创建步骤如下(详见 README.md):

  1. 使用与 Azure 订阅关联的 Microsoft 凭据登录 Azure 门户;
  2. 选择+Create a resource,搜索 Machine Learning 并选择 Machine Learning 磁贴,点击创建;
  3. 按下表填写设置:
配置项说明
Subscription你的 Azure 订阅
Resource group新建或选择资源组
Workspace name为工作区输入唯一名称
Region选择离你最近的地理区域
Storage account记录将为工作区创建的默认新存储账户
Key vault记录将为工作区创建的默认新密钥保管库
Application insights记录将为工作区创建的默认新 Application Insights 资源
Container registryNone(首次将模型部署到容器时会自动创建)
  1. 点击"审阅 + 创建"再点击"创建",等待数分钟完成创建;
  2. 在工作区"概览"页启动 Azure Machine Learning Studio(或新开浏览器访问 ml.azure.com),用 Microsoft 账户登录,必要时选择你的 Azure 目录、订阅和工作区;
  3. 在 Studio 中点击左上角 ☰ 图标,即可浏览界面中的各个页面,用它们管理工作区资源。

有两个实用注意事项:浏览器兼容性——建议使用最新版 Microsoft Edge(非 legacy 版)、Chrome、Firefox,或 Mac 上的最新版 Safari;费用提示——只要工作区存在于订阅中,就会产生少量数据存储费用,因此课程明确建议:不再使用工作区时务必删除它。

计算资源:四种类型

计算资源是用于运行模型训练与数据探索过程的云端资源,Azure ML 支持四种:

  • 计算实例(Compute Instances):数据科学家使用的开发工作站,本质是创建一台虚拟机并启动 Notebook 实例,可在 Notebook 中调用计算集群训练模型;
  • 计算集群(Compute Clusters):按需处理实验代码的可扩展 VM 集群,训练模型时需要它,可选用专用 GPU 或 CPU 资源;
  • 推理集群(Inference Clusters):部署预测服务的目标资源,承载训练好的模型;
  • 附加计算(Attached Compute):关联 Azure 中已有的计算资源(如虚拟机或 Azure Databricks 集群)。

对于本作业,训练模型需要的是计算集群

关键选型决策:四组权衡

创建计算资源时有四组选择会对成本与效果产生决定性影响(README.md):

CPU 还是 GPU?CPU 适合快速处理多种任务但并发有限;GPU 专为并行计算设计,深度学习任务表现远优于 CPU。选择建议如下:

CPUGPU
更便宜更贵
并发度较低并发度更高
训练深度学习模型较慢深度学习的最佳选择

集群规模(Cluster Size):更大的集群更贵但响应更快。时间充裕而预算紧张,从小集群起步;反之,预算充足而时间紧张,则从大集群起步。

VM 规格(VM Size):可调整内存、磁盘、核心数与时钟频率,参数越高成本越高、性能越好,按时间与预算约束权衡。

专用实例还是低优先级实例(Dedicated vs Low-Priority):低优先级实例可被中断——Azure 可能回收资源分配给其他任务从而中断你的作业;专用实例(不可中断)在未经你许可的情况下绝不会被终止。可中断实例更便宜,这是又一组"时间 vs 金钱"的权衡。

创建计算集群的操作步骤

在 Studio 中点击Compute菜单 →Compute cluster标签页 →+ New按钮:

  1. 选择选项:专用/低优先级、CPU/GPU、VM 规格与核心数(本作业可使用默认设置);
  2. 点击 Next;
  3. 为集群输入计算名称;
  4. 配置:最小/最大节点数、缩容前的空闲秒数、SSH 访问。最小节点数设为 0 可在集群空闲时省钱最大节点数越大,训练时间越短,课程推荐最大节点数不超过 3;
  5. 点击Create(可能需要几分钟)。

第三步:上传数据集并修正特征类型

计算集群就绪后,把数据集加载进 Azure ML Studio(README.md):

  1. 在左侧菜单点击Datasets+ Create dataset,选择From local files,选中你下载的数据集文件;
  2. 为数据集命名、指定类型并填写描述,点击 Next,从文件上传数据,点击 Next;
  3. Schema中,将以下特征的数据类型改为布尔型(Boolean)anaemiadiabeteshigh_blood_pressuresexsmoking,以及目标列DEATH_EVENT;点击 Next 并点击 Create。

这一步正是评分标准中“上传数据时,如果有必要,你注意更改了特征的类型”的落点——特征类型修正确保 AutoML 以正确的语义解读每个字段(0/1 二值字段应为布尔型而非数值型)。如果你选择的数据集存在缺失值、重复行或明显异常值,还应在此阶段完成数据清洗,这对应评分标准中的“对数据进行了清理(如果需要)”。

第四步:使用 AutoML 训练模型并审查模型解释

传统机器学习模型开发资源密集,需要大量领域知识与时间才能产出并比较几十个模型。**自动化机器学习(AutoML)**自动完成模型开发中耗时、重复的迭代任务,让数据科学家、分析师和开发者以高扩展性、高效率构建 ML 模型,同时保持模型质量,显著缩短到达生产级模型的时间(README.md)。

在 Studio 中的操作步骤如下:

  1. 左侧菜单点击Automated ML,选择刚上传的数据集,点击 Next;
  2. 输入新的实验名称,指定目标列(target column)(课程示例为DEATH_EVENT)和刚创建的计算集群,点击 Next;
  3. 选择Classification(分类)并点击 Finish。这一步根据计算集群规模可能需要 30 分钟到 1 小时
  4. 运行完成后,点击Automated ML标签页 → 你的运行 → 在Best model summary卡片中点击算法名称。

在最佳模型详情页,你可以看到 AutoML 生成的最佳模型的详细描述,也可以在Models标签页探索其他生成模型。务必花几分钟在Explanations(预览)中查看模型的解释信息——这对应评分标准中"你检查了模型的解释"。模型解释能告诉你哪些特征对预测贡献最大、模型决策的依据是什么,是评估模型可信度与业务可解释性的关键步骤。

第五步:部署最佳模型为 Web 服务

自动化机器学习界面支持用几步将最佳模型部署为 Web 服务(README.md)。部署意味着集成模型,使其能基于新数据做出预测——在心力衰竭案例中,部署为 Web 服务意味着医疗应用可以调用模型,实时预测患者发生心脏病的风险。

在最佳模型描述页点击Deploy按钮,然后:

  1. 填写名称、描述,计算类型选择Azure Container Instance(ACI)启用认证(enable authentication),点击 Deploy。此步骤可能需要约 20 分钟;
  2. 部署过程包括注册模型、生成资源并为 Web 服务完成配置等若干环节。Deploy status 下会出现状态消息,定期点击 Refresh 检查部署状态,状态变为"Healthy"即表示已部署并运行;
  3. 部署完成后,点击Endpoint标签页并点击刚部署的端点,可在这里查看关于端点的所有详细信息。

第六步:消费端点(调用 REST API)

点击Consume标签页,可以看到REST 端点地址和一段Python 消费脚本(README.md)。该脚本可直接在本地机器上运行并调用你的端点。脚本中与端点通信的核心是这两行:

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 页中显示的主键(仅在你启用了认证的情况下需要)——这正是脚本能够消费端点的凭据机制。

运行脚本,你会看到如下输出:

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

这表示对给定数据的"心力衰竭"预测结果为true。之所以如此,是因为脚本自动生成的数据里所有字段默认都是 0 和 false。将data替换为下面这组包含真实临床特征分布的输入样本:

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]}"'

第一条样本(全 0)预测为true,第二条样本(更接近真实患者的生理指标组合)预测为false,说明模型正在基于输入特征的真实差异做出区分——这就是端点的“消费”闭环:把结构化数据以 JSON 请求发送给部署好的模型,拿到实时预测结果。如果你选择了自己的数据集,只需按你的特征列名与数据类型构造同样的data字典即可。

评分标准详解与自查清单

作业附带的评分标准(Rubric)是验收的核心依据(assignment.md),三个档位的差别在于流程完整度与细节深度:

卓越(Exemplary)合格(Adequate)需要改进(Needs Improvement)
上传数据时,如果有必要,你注意更改了特征的类型;同时对数据进行了清理(如果需要);通过 AutoML 对数据集进行了训练,并检查了模型的解释;部署了最佳模型,并成功使用了它。上传数据时,如果有必要,你注意更改了特征的类型;通过 AutoML 对数据集进行了训练;部署了最佳模型,并成功使用了它。你部署了 AutoML 训练的最佳模型,并成功使用了它。

将其转化为可逐项勾选的验收清单,可以帮助你在提交前自查:

数据准备阶段(区分"卓越"与"合格"的关键)

  • 上传数据集时是否按需修改了特征类型(二值字段设为 Boolean,数值字段设为数值型)?
  • 数据是否存在缺失值、重复行、异常值等需要清洗的问题?是否已处理?

训练阶段

  • 是否通过 AutoML 对数据集完成了训练运行?
  • (卓越档要求)是否在 Explanations 中审查了模型解释,理解了特征贡献与模型行为?

部署与消费阶段(三档均要求)

  • 是否部署了 AutoML 选出的最佳模型(ACI + 认证)?
  • 是否成功通过 REST 端点 + API 密钥调用了模型,并验证了返回的预测结果?

从表格可以清晰看出:"部署 + 消费"是底线要求;在此之上增加"特征类型修改"与"AutoML 训练"即为合格;再补上"数据清洗"与"模型解释审查"才能达到卓越。对照此清单,你就能明确自己当前成果所处的档位。

挑战:深入理解 AutoML 的模型解释

课程在 Challenge 环节 提出了一个更高阶的思考任务,强烈建议你在完成作业后一并完成:

仔细查看 AutoML 为最优模型生成的模型解释与细节,试着理解为什么最佳模型优于其他模型。被比较的算法有哪些?它们之间的差异是什么?为什么在这个案例中最佳模型表现更好?

这要求你不止于“跑通流程”,还要理解 AutoML 底层的算法竞赛逻辑:AutoML 会同时评估多种算法(如逻辑回归、决策树集成、梯度提升等)与超参数组合,依据验证指标选出冠军模型。结合 Explanations 页面,你可以对比不同模型的特征重要性分布、弄清各类算法对非线性/缺失数据的不同假设,从而回答“为什么它在当前数据集上胜出”。如果你还想对比 SDK 路线的实现细节,可以对照课程第 19 课 19-Azure 的 SDK Notebook 查看同一任务的代码化实现。

收尾:清理资源与延伸阅读

完成项目后,不要忘记删除所有相关资源——包括 Azure ML 工作区、计算集群与已部署的端点,以避免产生持续的费用(课程在 README.md 中对此有明确提示)。

至此,你已经以低代码/无代码方式在云端完成了一个端到端的数据科学项目:选数据 → 建工作区 → 配计算 → 传数据(含类型修正与清洗)→ AutoML 训练 → 审查解释 → 部署 → 消费端点。这套工作流的意义在于:它让没有编码背景的学习者也能快速验证一个数据科学想法的可行性并产出可用的预测服务;而当你后续需要把项目推向生产环境时,则可以在此基础上转向 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 8:18:18

如何在 Google Antigravity 2.0 中启用 ECC 的原生 .agents/ 布局?

如何在 Google Antigravity 2.0 中启用 ECC 的原生 .agents/ 布局? 【免费下载链接】ECC The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor an…

作者头像 李华
网站建设 2026/9/11 8:16:49

太空3D打印材料在微重力下的力学响应研究

1. 项目背景与核心挑战在太空探索领域,3D打印技术正在彻底改变空间站的建设方式。传统航天器需要在地面完成整体制造再通过火箭运输,而太空3D打印允许我们直接在外太空利用原材料进行建造。这个项目聚焦于一个关键问题:当我们在微重力环境下用…

作者头像 李华
网站建设 2026/9/11 8:15:33

cuML源码快照评估:从工程结构判断是否值得进行PoC

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华