Data-Science-For-Beginners 课程实践:在 Azure ML 上以 Low code/No code 方式完成“训练—部署—消费“全流程项目
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 训练出的最佳模型并成功消费从评分表可以提炼出四个关键技术动作本文后续章节将逐一展开特征类型修改数据上传后在 Schema 阶段将分类特征显式改为布尔Boolean类型数据清洗根据数据质量按需处理缺失值、异常值等模型解释Explanations训练完成后查看 AutoML 生成的模型解释理解特征对预测结果的影响部署与消费将最佳模型部署为实时端点并通过 REST 请求消费获得预测。三、准备工作理解工作区与算力资源在开始作业前需要先建立 Azure ML 的基础设施认知。Azure ML 工作区Workspace是 Azure Machine Learning 的顶层资源集中管理训练运行历史日志、指标、输出、脚本快照这些信息正是判断哪个训练运行产生了最佳模型的依据。成本提醒只要工作区存在于订阅中就会为数据存储产生小额费用完成作业后请记得删除不再使用的资源。3.1 创建 Azure ML 工作区使用 Azure 订阅对应的 Microsoft 凭据登录 Azure 门户选择Create a resource搜索并选择 Machine Learning点击创建填写配置订阅、资源组、唯一的工作区名称、就近的区域存储账户、Key Vault、Application Insights 会默认新建Container registry 选择 None首次部署模型到容器时会自动创建等待工作区创建完成约几分钟在门户中进入工作区概览页启动 Azure Machine Learning Studio或直接访问 https://ml.azure.com用 Microsoft 账户登录并选择你的目录、订阅与工作区在 Studio 左上角通过 ☰ 图标展开各管理页面。3.2 计算资源为 AutoML 准备计算集群计算资源是运行模型训练与数据探索的云资源共四种类型计算实例Compute Instances数据科学家的开发工作站虚拟机 Notebook 实例计算集群Compute Clusters可按需伸缩的 VM 集群用于执行实验代码训练模型必需推理集群Inference Clusters面向预测服务的部署目标附加计算Attached Compute关联现有 Azure 计算资源VM、Databricks 集群等。创建计算资源时四个关键决策直接影响成本与训练速度CPU 还是 GPUCPU 串行能力强、价格低但并发有限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 行的表格数据。作业要求你寻找自己的数据集但上传流程完全一致在 Azure ML 工作区左侧菜单点击Datasets → Create dataset选择From local files选中本地下载的数据文件为数据集命名、选择类型、填写描述上传文件在 Schema 阶段按需修改特征类型。课程示例将anaemia、diabetes、high_blood_pressure、sex、smoking、DEATH_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 中完成训练左侧菜单点击Automated ML选择刚上传的数据集点击 Next输入新的实验名称、指定目标列课程示例为DEATH_EVENT、选择已创建的计算集群根据任务类型选择Classification如果是预测连续数值则选 Regression时间序列则选 Time series forecasting点击 Finish。训练时长约 30 分钟到 1 小时取决于计算集群大小运行完成后进入Automated ML标签页点击你的运行在Best model summary卡片中查看 AutoML 选出的最佳算法。在最佳模型详情页中可以查看 AutoML 生成的最佳模型的详细描述也可在 Models 标签页探索其余被比较的模型。务必花时间点击 Explanations预览查看模型解释——这是评分表出色等级的关键分项它揭示了各特征对预测结果的贡献程度也是作业后续 Challenge 环节为什么最佳模型优于其他模型比较了哪些算法的分析素材。六、核心步骤三部署最佳模型为 Web 服务部署是把模型集成到业务系统中、使其能对新数据做出预测的关键环节。对于心力衰竭项目部署为 Web 服务意味着医疗应用可以调用模型对患者的心脏病发作风险进行实时预测。在最佳模型描述页点击Deploy按钮填写名称与描述计算类型选择Azure Container InstanceACI启用认证Enable authentication点击 Deploy。部署过程约需 20 分钟包含注册模型、生成资源、为 Web 服务配置等步骤部署状态显示在Deploy status下可定期点击 Refresh 刷新状态变为Healthy即表示部署成功部署完成后切换到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 serviceurlConsume 标签页中展示的 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),仅供参考