尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Data-Science-For-Beginners 课程实战:在 Azure ML 上以 Low code/No code 方式完成端到端数据科学项目

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 课程第 18 课Data Science in the Cloud: The Low code/No code way的配套作业展开讲解如何在 Azure Machine Learning 平台上以零代码的方式走完寻找数据集 → 上传与特征校正 → AutoML 训练 → 部署模型 → 消费 REST 端点的完整数据科学闭环。读完本文你将掌握一个可复用的 Low code/No code 实战范式不仅能复现课程中的心力衰竭预测项目还能把它迁移到你自己选择的数据集上并对照作业评分标准完成自检。一、作业要求训练、部署并消费属于你自己的模型课程作业见 assignment.md 及孟加拉语译本 translations/bn/5-Data-Science-In-Cloud/18-Low-Code/assignment.md的核心指令非常明确前面已经演示了如何用 Azure ML 平台以 Low code/No code 方式训练、部署并消费一个模型现在需要你自己寻找一份新数据用同样的方法训练另一个模型、部署它并成功消费它。数据可以从 Kaggle、Azure Open Datasets 等公开数据平台获取例如 Kaggle 上公开的 Heart Failure Clinical Data 表格数据集。这份作业的评分标准Rubric把完成质量分为三档这三级标准本身就是一份可执行的任务清单卓越Exemplary合格Adequate需改进Needs Improvement上传数据时按需修改特征Feature的类型必要时清理数据通过 AutoML 对数据集运行训练并检查模型解释Explanations部署最佳模型并成功消费它上传数据时按需修改特征的类型通过 AutoML 对数据集运行训练部署最佳模型并成功消费它部署了 AutoML 训练出的最佳模型并能成功消费它可以看出任务从低到高覆盖了三个层次能部署并消费最低门槛→会跑 AutoML 训练并做特征工程进阶→会清理数据并读懂模型解释卓越。下文将按这条主线结合课程 README.md 中的完整操作流程逐环节给出可落地的执行指南。二、认识 Low code/No code 数据科学工具链在动手之前先理解作业依托的平台。Azure Machine LearningAzure ML是一个云端的机器学习平台用于在 Azure 上构建和运营机器学习解决方案数据准备、模型训练、发布预测服务、监控使用情况等。对数据科学家而言它最大的价值在于把模型训练中大量耗时的任务自动化并使用按需付费、可弹性伸缩的云端计算资源。面向低代码/无代码场景Azure ML 提供的关键工具包括Azure Machine Learning Studio一个 Web 门户为模型训练、部署、自动化、跟踪和资产管理提供低代码与无代码选项并与 Azure ML SDK 集成提供一致的使用体验Automated machine learning UIAutoML自动化机器学习模型开发中重复性的迭代任务在保持模型质量的同时以高扩展性、高效率和生产力构建模型是本次作业训练环节的核心Azure Machine Learning Designer通过拖拽模块构建实验并在低代码环境中部署流水线Data Labelling辅助机器学习工具用于自动标注数据此外还有 Jupyter Notebooks、VS Code 机器学习扩展、机器学习 CLI、与 PyTorch/TensorFlow/Scikit-learn 等开源框架的集成以及用于实验生命周期管理的 MLflow其 MLflow Tracking 组件可记录和追踪训练运行的指标与模型工件。课程还对比了两种项目实现路径这也是理解作业定位的关键对比维度Low code/No codeAzure ML SDK代码技能要求不需要需要开发时间快速、简单取决于编码水平生产就绪否是Low code/No code 方式通过图形界面交互即可快速验证项目可行性、产出概念验证POC非常适合本作业这种快速跑通另一个模型的场景而当项目规模变大、需要生产就绪时才需要用 Azure ML SDK 以编程方式自动化从资源创建到模型部署的全过程。三、数据准备选择数据集、上传并校正特征类型作业评分标准的第一档要求是上传数据时按需修改特征类型必要时清理数据。课程以心力衰竭预测项目为范例该数据集来自 Kaggle 的 Heart Failure Clinical Data是一个包含 13 列12 个特征 1 个目标变量、299 行的表格数据序号变量名类型说明示例1age数值患者年龄252anaemia布尔是否贫血红细胞或血红蛋白减少0 或 13creatinine_phosphokinase数值血液中 CPK 酶水平5424diabetes布尔患者是否患糖尿病0 或 15ejection_fraction数值每次收缩时离开心脏的血液百分比456high_blood_pressure布尔患者是否患高血压0 或 17platelets数值血液中的血小板数量1490008serum_creatinine数值血液中血清肌酐水平0.59serum_sodium数值血液中血清钠水平—10sex布尔女性或男性0 或 111smoking布尔患者是否吸烟0 或 112time数值随访期天4—DEATH_EVENT目标布尔随访期内患者是否死亡0 或 1你完成作业时可以选择其他数据集但建议优先选择包含混合类型特征数值 布尔/类别的表格数据这样才用得上特征类型校正这一关键步骤。在 Azure ML Studio 中上传数据的操作路径为进入工作区后点击左侧菜单 Datasets → Create dataset → 选择 From local files 并选中下载好的本地文件随后为数据集命名、设置类型和描述在 Schema 页面中按需调整每列的数据类型。课程范例中特别强调需要把以下特征的数据类型改为 Boolean——anaemia、diabetes、high_blood_pressure、sex、smoking以及目标列DEATH_EVENT。这一步是评分标准中修改特征类型的直接落点如果这些 0/1 编码的列被误识别为数值型AutoML 会将其当作连续特征参与距离计算和分裂从而扭曲特征语义显式声明为布尔/类别后模型才能正确处理这些离散取值。若数据存在缺失值、异常值或格式错误则应在上传前或上传后完成清理这对应评分标准中的必要时清理数据。四、计算资源选择合适的训练环境训练模型前需要准备好 Azure ML 工作区Workspace和计算资源。4.1 创建工作区工作区是 Azure Machine Learning 的顶层资源为使用 Azure ML 时创建的所有工件提供集中管理位置它会保留所有训练运行的历史包括日志、指标、输出和脚本快照据此可以判断哪次训练运行产出了最佳模型。创建步骤如下使用与 Azure 订阅关联的 Microsoft 凭据登录 Azure 门户选择Create a resource搜索 Machine Learning 并选择对应磁贴点击 Create填写设置订阅Subscription、资源组Resource group、工作区名称唯一、区域就近选择、存储账户/密钥保管库/Application Insights记录自动创建的默认新资源、容器注册表保持 None首次将模型部署到容器时会自动创建点击 Create review 再点击 Create等待工作区创建完成可能需要几分钟在工作区概览页启动 Azure Machine Learning Studio或在浏览器访问 https://ml.azure.com用 Microsoft 账户登录并选择目录、订阅和工作区点击左上角 ☰ 图标展开导航即可看到管理资源所需的各个页面。注意成本只要工作区存在于订阅中就会因数据存储产生少量费用建议不再使用时删除工作区。同样地作业完成后应删除全部相关资源。Azure ML Studio 为数据科学家和 ML 运维工程师提供了比门户更聚焦的界面来管理工作区资源。4.2 四类计算资源Azure ML 中有四类可创建的计算资源计算实例Compute Instances数据科学家用来处理数据和模型开发工作站本质是创建一台虚拟机并启动 Notebook 实例计算集群Compute Clusters用于按需处理实验代码的可伸缩 VM 集群训练模型时需要它可使用专用 GPU 或 CPU 资源推理集群Inference Clusters使用训练好的模型提供预测服务的部署目标附加计算Attached Compute关联已有的 Azure 计算资源如虚拟机或 Azure Databricks 集群。本作业训练模型需要的是计算集群。4.3 计算资源的关键选型创建计算资源时有几个关键决策值得权衡CPU 还是 GPUCPU 擅长以较高主频快速处理广泛类型的任务但并发能力有限GPU 为并行计算设计在深度学习任务上表现远优于 CPU。对应地CPU 更便宜、并发度低、训练深度学习模型较慢GPU 更贵、并发度高、是深度学习的优选。集群规模集群越大越贵但响应越好。时间充裕而预算有限时应从小集群起步反之预算充裕而时间紧张时可选用较大集群。VM 大小可根据时间与预算调整 RAM、磁盘、核数与主频参数越大成本越高但性能越好。专用实例还是低优先级实例低优先级实例可被 Azure 抢占中断任务因此更便宜专用不可中断实例只有在获得授权时才会终止任务。这是又一个时间换金钱的权衡。4.4 创建计算集群在 Studio 中点击 Compute 菜单 → Compute cluster 标签页 → New选择 Dedicated 或 Low priority、CPU 或 GPU、VM 大小和核数本作业可直接使用默认设置点击 Next为集群命名配置最小/最大节点数、缩容前空闲秒数、SSH 访问。最小节点数设为 0 时集群空闲不产生费用最大节点数越大训练越快课程建议最大节点数取 3点击 Create等待数分钟完成创建。五、用 AutoML 完成低代码训练并读懂模型解释数据就位、集群就绪后即可开始训练环节这也对应评分标准中的核心动作通过 AutoML 在数据集上运行训练并检查模型解释。传统机器学习模型开发需要投入大量资源、领域知识与时间在数十个模型之间反复试错AutoML 将这些耗时且重复的迭代任务自动化让数据科学家、分析师和开发者以高扩展性、高效率与高生产力构建模型并缩短产出生产就绪模型的周期。在 Azure ML Studio 中执行 AutoML 训练点击左侧菜单 Automated ML选择刚上传的数据集点击 Next填写新的实验Experiment名称、目标列Target column范例中为DEATH_EVENT以及已创建的计算集群点击 Next任务类型选择 Classification分类并点击 Finish。这一步耗时约 30 分钟到 1 小时取决于计算集群规模运行完成后点击 Automated ML 标签页进入本次运行点击 Best model summary 卡片中的算法名即可查看 AutoML 生成的最佳模型的详细描述也可以在 Models 标签页中浏览其他被比较的模型。这里有一个容易被忽略但恰恰是卓越档要求的动作花几分钟查看各模型的 Explanations预览版。AutoML 会为排名靠前的模型生成特征重要性等可解释性信息帮助你理解哪个特征对预测贡献最大、为什么某个模型优于其他模型。比如在心衰场景中time、serum_creatinine、ejection_fraction等特征的贡献度排序往往能直观解释模型行为——这正是作业挑战环节要求深入分析的素材详见第八节。六、部署最佳模型并消费 REST 端点训练完成后的收尾环节是部署与消费这是三档评分标准共同的底线要求。6.1 部署模型为 Web 服务AutoML 界面支持将最佳模型在几步之内部署为 Web 服务。部署的含义是把模型集成起来使其能基于新数据做出预测。就本作业的医学场景而言部署为 Web 服务意味着医疗应用可以调用该模型对患者的心脏病发作风险进行实时预测。在最佳模型详情页点击 Deploy 按钮然后填写名称、描述计算类型选择Azure Container InstanceACI启用身份验证authentication点击 Deploy该步骤大约需要 20 分钟。部署过程包括注册模型、生成资源、为 Web 服务配置等环节Deploy status 下会显示状态消息可定期点 Refresh 查看进度状态变为Healthy即表示已部署并运行部署完成后点击 Endpoint 标签页并选择刚部署的端点即可查看该端点的全部详细信息。6.2 用 Python 脚本消费端点点击端点的 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变量是同一页面上的主键仅在部署时启用了身份验证的情况下需要填写。脚本正是依靠这两个值完成对端点的调用。直接运行脚本时会得到如下输出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。到这里你就完成了在 Azure ML 上训练 → 部署 → 消费的完整闭环模型已能对新输入实时打分供业务应用调用。七、对照评分标准做作业自检提交作业前可以把第三节到第六节的产出与评分标准逐条核对最低线需改进档已部署 AutoML 训练出的最佳模型并能通过脚本消费其端点、看到预测结果合格线上传数据时按需修改了特征类型例如把 0/1 列改为 Boolean跑通了 AutoML 训练、部署和消费卓越线在合格线基础上还做了数据清理并认真检查了 AutoML 生成的模型解释Explanations能说明最佳模型为何胜出。建议在自己的作业数据上同样执行Schema 中修正特征类型 → AutoML 训练 → 查看最佳模型与解释 → 部署 ACI 端点 → 用 Python 消费这五步并保留运行与部署截图作为完成证据。八、进阶挑战与成本清理课程在作业之外还留了一个挑战仔细查看 AutoML 为排名靠前的模型生成的解释与详情尝试回答——为什么最佳模型优于其他模型AutoML 对比了哪些算法它们之间有何差异为什么在这个数据集上最佳模型表现更好这些问题可以结合 Explanations 中的特征重要性与各候选模型的指标对比来回答也是把会跑通提升到懂原理的关键一步。最后务必记住课程中的成本提示项目完成后删除所有资源工作区、计算集群、已部署端点等避免在订阅中持续产生存储与计算费用。如果你希望在删除前深入复习本课的完整操作流程可以随时回到 18-Low-Code/README.md 按章节逐步重做若追求可复现与生产化则可以进一步探索同一课程中基于 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),仅供参考
返回列表