
Data-Science-For-Beginners 云上低代码数据科学实战基于 Azure ML 训练并部署心衰风险预测模型【免费下载链接】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 开源课程第五模块《云端数据科学》5-Data-Science-In-Cloud第 18 课的完整技术指南。它演示如何以Low code/No code低代码/无代码方式在 Azure Machine Learning Studio 中完成「数据准备 → AutoML 自动训练 → 模型部署 → 端点消费」的全流程用 299 条临床记录构建心衰风险分类器。读完本文你将掌握创建工作区与计算集群、上传并规范化数据集、用 AutoML 自动挑选最佳算法、将模型发布为 REST 服务并用 Python 脚本实时调用预测。本课的希腊语翻译版位于 translations/el/5-Data-Science-In-Cloud/18-Low-Code/README.md其内容为自动机器翻译本文以仓库内同路径英文原版 5-Data-Science-In-Cloud/18-Low-Code/README.md 为准并结合仓库内测验、后续课程等源码资源作交叉印证。1. 为什么需要 Azure Machine LearningAzure 云平台拥有超过 200 项云产品与服务。对数据科学家而言探索数据、预处理数据、尝试各种训练算法以产出准确模型都是耗时且昂贵的重复劳动——尤其在按量计费的算力硬件上低效迭代会造成明显浪费。Azure Machine LearningAzure ML正是面向这一痛点的云端机器学习平台它帮助数据科学家准备数据、训练模型、发布预测服务并监控使用情况同时通过自动化大量训练环节提升效率其云端算力可以弹性伸缩只在真正使用时产生费用。第 17 课 为什么在数据科学中使用云 对云的动机做了铺垫本课则聚焦于其中的低代码路径。1.1 Azure ML 提供的工具矩阵Azure ML 为开发者与数据科学家提供了一整套工作流工具见原文档 1.1 节Azure Machine Learning Studio面向低代码/无代码的 Web 门户覆盖模型训练、部署、自动化、跟踪与资产管理并与 Azure ML SDK 无缝集成Jupyter Notebooks快速原型化与测试 ML 模型Azure Machine Learning Designer以拖拽模块的方式构建实验并在低代码环境中部署 pipelines自动化机器学习界面AutoML自动化模型开发的迭代任务在保持模型质量的同时以高规模、高效率和高生产力构建 ML 模型数据标注Data LabellingML 辅助的自动数据标注工具机器学习扩展 for Visual Studio Code构建与管理 ML 项目的完整开发环境机器学习 CLI从命令行管理 Azure ML 资源开源框架集成PyTorch、TensorFlow、Scikit-learn 等用于端到端训练、部署与管理MLflow管理机器学习实验生命周期的开源库其中MLFlow Tracking负责记录与追踪训练指标和模型工件与实验环境无关。值得留意的是仓库配套测验 quiz-app/src/assets/translations/en/group-5.json 中第 34 题课前测验印证了本节的三个核心认知Jupyter Notebook 能快速原型化模型True、Azure ML 能同时节省数据探索/预处理时间并产出准确模型All of the above、使用 Azure ML 无需编码专长True——这正是低代码路径的立论基础。2. 心衰预测项目Low code/No code 与 SDK 两条路径本课通过「心衰预测」项目同时介绍两种构建数据科学项目的方式Low code/No codeGUI 操作与Azure ML SDK代码操作两者共享同一数据集与目标两条路径的取舍如下表原文档 1.2 节维度Low code/No codeAzure ML SDK编码专长无需需要开发时间快速且简单取决于编码水平生产就绪否是Low code 方式适合快速验证项目可行性、产出 POCProof Of Concept但当项目成长到需要生产就绪时通过 GUI 逐个创建资源不再现实必须用 SDK 以编程方式自动化「资源创建 → 模型部署」的全链路——这正是下一课 Data Science in the Cloud: The Azure ML SDK way 的内容其文档明确要求读者先完成本课的 Workspace 创建与数据集上传见 19-Azure README 的 2.1/2.3 节。2.1 心衰数据集结构与字段说明心血管疾病CVDs是全球第一大死因占全部死亡的 31%。烟草使用、不健康饮食与肥胖、缺乏运动、有害饮酒等环境与行为风险因素均可作为评估模型的特征。Kaggle 上公开的 [Heart Failure 临床数据集]模块概览见 5-Data-Science-In-Cloud/README.md数据由 Larxel 发布遵循 CC BY 4.0 许可是一个13 列12 个特征 1 个目标变量× 299 行的表格式数据集字段定义如下原文档 1.3 节#变量名类型描述示例1age数值患者年龄252anaemia布尔红细胞或血红蛋白是否减少0 或 13creatinine_phosphokinase数值血液中 CPK 酶水平5424diabetes布尔患者是否患糖尿病0 或 15ejection_fraction数值每次收缩时离开心脏的血液百分比456high_blood_pressure布尔患者是否患高血压0 或 17platelets数值血液中的血小板数1490008serum_creatinine数值血清肌酐水平0.59serum_sodium数值血清钠水平137原文档示例为 jun应为数值10sex布尔女或男0 或 111smoking布尔患者是否吸烟0 或 112time数值随访期天4—DEATH_EVENT [目标]布尔随访期内患者是否死亡0 或 1目标变量DEATH_EVENT为二分类目标0/1因此 AutoML 环节将选用分类Classification任务类型。项目配套的课后测验group-5.json 第 35 题也确认AutoML 支持的任务类型中包含分类Classification。3. 准备工作创建 Azure ML Workspace训练模型的第一步是创建 Azure ML工作区Workspace——它是 Azure Machine Learning 的顶级资源集中管理你在使用过程中创建的全部工件并保留所有训练运行的历史日志、指标、输出、脚本快照用于判断哪次运行产出了最佳模型。3.1 浏览器支持与计费提示官方建议使用与操作系统兼容的最新浏览器Microsoft Edge新版 Microsoft Edge 最新版本非 legacy 版Safari最新版本仅 MacChrome最新版本Firefox最新版本注意只要工作区存在于订阅中Azure 就会对数据存储收取少量费用。官方建议不再使用时删除工作区。3.2 Portal 中的创建步骤使用与 Azure 订阅关联的 Microsoft 凭据登录 [Azure portal]选择创建资源搜索 Machine Learning 并选中 Machine Learning 磁贴点击创建按钮按下表填写设置配置项填写说明Subscription你的 Azure 订阅Resource group创建或选择资源组Workspace name输入唯一的工作区名称Region选择离你最近的地理区域Storage account记录将为工作区创建的默认新存储账户Key vault记录将为工作区创建的默认新密钥保管库Application insights记录将为工作区创建的默认新 Application Insights 资源Container registry无首次将模型部署到容器时自动创建点击「创建 审阅」再点击「创建」等待几分钟完成创建在门户的 Machine Learning 服务中找到工作区在工作区「概览」页启动 Azure Machine Learning studio或新开浏览器访问 ml.azure.com用 Microsoft 账户登录若被询问选择你的 Azure 目录、订阅与工作区在 studio 左上角点击 ☰ 图标可展开界面中的各页面用于管理工作区资源。数据科学家与 MLOps 工程师通常通过 Azure Machine Learning Studio而非门户来管理资源因为它为工作区资源提供了更聚焦的界面。4. 计算资源为训练选择合适的集群计算资源是运行模型训练与数据探索的云端资源。Azure ML 提供四类原文档 2.2 节Compute Instances计算实例数据科学家处理数据与模型的开发工作站本质是创建虚拟机并启动 Notebook 实例可在 Notebook 中调用集群训练模型Compute Clusters计算集群按需处理实验代码的可伸缩 VM 集群训练模型时必需可选用 GPU 或 CPU 资源Inference Clusters推理集群承载预测服务的部署目标Attached Compute附加计算关联已有的 Azure 计算资源如虚拟机或 Azure Databricks 集群。4.1 四项关键选型决策CPU 还是 GPUCPU 是执行程序指令的电子电路按时钟速度衡量、可快速处理广泛任务但并发能力受限GPU 是专为高速执行图形相关代码设计的电路面向并行计算因而在深度学习任务上优势明显。对表格型数据的心衰分类任务CPU 即可胜任CPUGPU更便宜更昂贵并发级别更低并发级别更高训练深度学习模型更慢深度学习最佳集群大小Cluster Size集群越大越贵但响应更快。有时间没预算就从集群开始有预算没时间则用大集群。VM 大小可根据时间与预算调整 RAM、磁盘、核心数与时钟速度——参数越大越贵但性能越好。专用实例还是低优先级实例Dedicated / Low-Priority低优先级实例是可中断的Azure 可能把资源让给其他任务而中断你的作业专用实例不可中断未经你许可不会被终止。这是又一轮「时间 vs 金钱」的权衡——可中断实例更便宜。4.2 创建计算集群的具体操作本项目训练模型需要一个计算集群。在 studio 中点击Compute菜单 →Compute cluster标签 →New选择选项Dedicated 或 Low priority、CPU 或 GPU、VM 大小与核心数本项目可直接保留默认设置点击 Next为集群命名选择最小/最大节点数、缩容前的空闲秒数、SSH 访问等选项。注意最小节点数为 0 时集群空闲不产生费用最大节点数越多训练越快官方推荐最大节点数为3点击 Create可能需要几分钟。配套测验group-5.json 第 35 题再次强调了本节的选型结论访问 Azure ML Studio 前需要先创建 Workspace且 GPU 用于深度学习场景。5. 上传数据集从本地文件到托管数据集有了计算集群后将心衰数据集上传到工作区在 Azure ML 工作区点击左侧Datasets→Create dataset选择From local files选中之前下载的 Kaggle 数据集文件为数据集填写名称、类型与描述点击 Next从文件上传数据再点 Next在Schema页将以下特征的数据类型改为Booleananaemia、diabetes、high_blood_pressure、sex、smoking以及目标列DEATH_EVENT点击 Next 后点击 Create。这一步很关键正确的列类型布尔 vs 数值直接影响 AutoML 对特征的编码方式与模型质量。做完后数据集就位、集群就绪可以开始训练。6. AutoML 低代码训练自动比较算法、挑选最佳模型传统 ML 开发资源密集需要大量领域知识与时间去生成并比较几十个模型。自动化机器学习AutoML将模型开发的耗时迭代任务自动化让数据科学家、分析师与开发者以高规模、高效率和高生产力构建模型并显著缩短产出生产就绪模型的时间。在 Studio 中的操作如下原文档 2.4 节点击左侧Automated ML选择刚上传的数据集点击 Next输入新的实验名称experiment name、目标列DEATH_EVENT与之前创建的计算集群点击 Next任务类型选择Classification点击 Finish。注意这一步视计算集群大小可能耗时30 分钟到 1 小时运行完成后进入Automated ML标签页点击你的运行在Best model summary卡片中点击算法名即可查看 AutoML 选出的最佳模型的详细描述也可以在 Models 标签页浏览其他候选模型并花几分钟在 Explanations预览中查看模型解释。上图是本流程运行完成后的典型结果AutoML 在数百种算法与超参组合中挑出了VotingEnsemble投票集成模型采样率 100%准确率约 0.88。模型解释页Explanations会给出各特征对预测的贡献度可用于回答「为什么这个模型更好」——这正是本节末尾挑战环节Challenge要求读者思考的问题AutoML 究竟比较了哪些算法它们之间差异何在为什么最佳模型在此场景下表现更好7. 模型部署把最佳模型发布为 Web 服务AutoML 界面允许在几步之内将最佳模型部署为 Web 服务。部署的本质是把模型集成到可对新数据做实时预测的入口——对心衰项目而言医疗应用将能通过该服务对患者的心梗风险做实时预测。在最佳模型详情页点击Deploy按钮填写名称、描述计算类型选择Azure Container InstanceACI启用认证authentication点击 Deploy该步骤大约需要20 分钟包含注册模型、生成资源、为 Web 服务配置环境等子步骤部署状态下方会显示状态消息可周期性点击Refresh查看进度状态变为Healthy即表示部署完成并正在运行部署完成后进入Endpoint标签页并点击刚部署的端点可看到该端点的全部细节。项目完成后务必删除所有资源避免产生持续费用。8. 端点消费用 Python 脚本调用 REST 预测服务点击Consume标签页可以看到REST endpoint以及一段可直接在本机运行的 Python 消费脚本。脚本中最关键的两行是url http://98e3715f-xxxx-xxxx-xxxx-9ec22d57b796.centralus.azurecontainer.io/score api_key # Replace this with the API key for the web serviceurlConsume 标签页中的 REST 端点地址api_keyConsume 标签页中的主密钥Primary Key——仅当你启用了认证时才需要填入。运行脚本你会看到如下输出b{\\result\\: [true]}这意味着对给定数据的心衰预测结果为true。这符合直觉脚本自动生成的样例数据里所有数值默认是 0、布尔默认是 false极端健康的基线。把数据替换为下面的真实临床样本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, }, ], }第二个样本60 岁、射血分数 38%、肌酐 1.40、随访 130 天反映了更接近真实风险的患者画像。脚本应返回b{\\result\\: [true, false]}即第一个全零样本预测为true、第二个真实临床样本预测为false——两条样本得到了不同的分类结果证明端点已按请求内容正确完成推理。至此你就完成了「在 Azure ML 上训练 → 部署 → 消费」模型的完整闭环。9. 挑战、复习与作业 挑战Challenge仔细查看 AutoML 为排名靠前的模型生成的模型解释与细节尝试理解为什么最佳模型优于其他模型——AutoML 比较了哪些算法它们之间的差异是什么为什么在当前的 299 条心衰数据上这个模型表现更好复习与自修Review Self Study本课完成了 Low code/No code 方式下心衰风险预测模型的训练、部署与消费。若尚未完成可进一步深挖 AutoML 对最佳模型生成的解释理解模型的可信度与特征归因。作业Assignment仓库内的 5-Data-Science-In-Cloud/18-Low-Code/assignment.md 给出了完整的评分量规Rubric卓越Exemplary上传数据时按要求修正特征类型并清理数据用 AutoML 完成训练并检查模型解释部署最佳模型并能消费它合格Adequate上传数据时修正特征类型AutoML 训练并部署最佳模型且能消费待改进Needs Improvement仅部署 AutoML 训练出的最佳模型并能消费。作业要求读者自选数据集如 Kaggle 或 Azure Open Datasets复刻完整流程这正是把本课 GUI 操作转化为可迁移能力的最佳练习。结语本课用「心衰风险预测」这一真实医疗场景完整展示了 Low code/No code 路径的四大环节Workspace 与计算集群的准备、数据集的类型规范、AutoML 自动建模、以及 ACI 部署后的 REST 端点消费。它既适合无编码背景的初学者快速产出可验证的 POC也是后续学习 Azure ML SDK 编程路径 的前置基础——两条路径共用同一数据集与目标恰好构成「GUI 快速验证 → 代码自动化生产」的完整能力进阶链。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考