news 2026/9/13 9:57:46

Data Science for Beginners 云端实战:用 Azure ML 低代码与 SDK 两种方式训练、部署和消费心衰预测模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Data Science for Beginners 云端实战:用 Azure ML 低代码与 SDK 两种方式训练、部署和消费心衰预测模型

Data Science for Beginners 云端实战:用 Azure ML 低代码与 SDK 两种方式训练、部署和消费心衰预测模型

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

本节课程(Cloud 章节)围绕一个真实的数据科学项目展开:使用 Kaggle 公开的心力衰竭(Heart Failure)临床数据集,构建一个用于评估患者发生心力衰竭概率的分类模型。整个项目将完整覆盖"训练 → 部署 → 消费"三个环节,且提供两条截然不同的实现路径:一条是纯图形界面操作的Low code/No code(低代码/无代码)路线,另一条是使用Azure Machine Learning SDK编写 Python 代码的编程路线。读完本文,你将掌握云计算的核心理念与服务体系,理解为何云是大数据场景下数据科学的"游戏规则改变者",并能在 Azure 上独立完成从创建工作区、配置计算资源、上传数据集、AutoML 训练,到将模型发布为 Web 服务并用 REST 端点实时预测的完整链路。

本节课程最初由 Maud Levy 与 Tiffany Souterre 编写,属于 Data-Science-For-Beginners 课程体系中 "5-Data-Science-In-Cloud" 章节。本译文版位于 translations/es/5-Data-Science-In-Cloud/README.md,英文原版见 5-Data-Science-In-Cloud/README.md。

章节总览:一个项目,两种实现方式

当处理大规模数据时,云可以成为数据科学的"游戏规则改变者"。本章节接下来的三节课将依次回答三个问题:云是什么、为什么对数据科学很有用,以及如何用云来完成一个真实项目。章节采用同一个心衰预测项目作为贯穿三节课的主线,但提供两条不同的技术路线,如下图所示:

本主题共包含三节课,分别对应 5-Data-Science-In-Cloud 目录下的三个子目录:

  1. 为什么使用云做数据科学? —— 讲解云计算的基础概念、服务模型与典型应用场景;
  2. 云数据科学:低代码/无代码方式 —— 完全通过 Azure Machine Learning Studio 图形界面完成训练、部署与消费;
  3. 云数据科学:Azure ML SDK 方式 —— 使用 Python SDK 以代码方式复现同样的完整流程。

项目与数据来源

心衰预测项目使用的数据来自 Kaggle 上公开的Heart Failure Clinical Records数据集,由 Larxel 发布,采用 Attribution 4.0 International (CC BY 4.0) 许可。这是一个包含13 列(12 个特征 + 1 个目标变量)、299 行的表格型数据集。心血管疾病(CVDs)是全球第一大死因,约占全球死亡总数的 31%,因此若能利用烟草使用、不健康饮食、肥胖、缺乏运动、酗酒等环境与行为风险因素估算 CVD 发生概率,对高危人群的预防将非常有价值。完整字段说明如下表:

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

两条路线的取舍对比

低代码/无代码路线因为只需要与图形界面(GUI)交互、无需任何代码基础,更适合快速验证项目可行性和构建概念验证(POC)。但随着项目成长、需要面向生产环境交付时,通过 GUI 手工创建资源就不再可行——必须用代码将资源创建、模型部署等一切步骤自动化,这正是掌握 Azure ML SDK 的价值所在。两种方式的差异总结如下:

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

第一课:为什么选择云做数据科学

什么是云

云(Cloud),或称云计算(Cloud Computing),是指通过互联网按需交付的、托管在基础设施之上的一系列计算服务,涵盖存储、数据库、网络、软件、分析以及智能服务等。按部署形态通常区分为三类:

  • 公有云(Public cloud):由第三方云服务商拥有和运营,通过互联网向公众交付计算资源;
  • 私有云(Private cloud):计算资源仅供单一企业或组织独占使用,服务和基础设施维护在私有网络上;
  • 混合云(Hybrid cloud):公有云与私有云相结合的系统,用户保留本地数据中心,同时允许数据和应用运行在一个或多个公有云上。

绝大多数云服务可以归入三大服务模型:

  • 基础设施即服务(IaaS):用户租用 IT 基础设施,如服务器、虚拟机(VM)、存储、网络、操作系统等;
  • 平台即服务(PaaS):用户租用开发、测试、交付和管理软件应用的完整环境,无需操心底层服务器、存储、网络和数据库的搭建与维护;
  • 软件即服务(SaaS):用户按需(通常按订阅)通过互联网获取软件应用访问权,无需关心软件托管、底层基础设施以及软件升级、安全补丁等维护工作。

主要的云服务商包括 Amazon Web Services、Google Cloud Platform 与 Microsoft Azure。

数据科学家选择云的七大理由

开发者与 IT 从业者选择云的原因包括:

  • 创新:可直接将云服务商打造的创新服务集成进应用,为应用赋能;
  • 灵活性:只需为所需服务付费,按需使用(pay as you go),并随需求演进调整服务;
  • 预算:无需前期投入购买硬件与软件、搭建并运营本地数据中心,只用多少付多少;
  • 可伸缩性:资源可按项目需求伸缩,应用可根据外部因素随时增减算力、存储与带宽;
  • 生产力:可以把精力聚焦在业务本身,将数据中心运维等任务交由他人管理;
  • 可靠性:云计算提供多种持续备份数据的方式,可制定灾难恢复计划,即使危机时期也能维持业务与服务运转;
  • 安全:可受益于云服务商提供的策略、技术与控制措施,强化项目安全。

云如何解决数据科学家面临的挑战

针对数据科学家和数据处理开发者的具体痛点,云给出了对应解法:

  • 存储海量数据:无需购买、管理与防护大型服务器,可直接将数据存放在云端(如 Azure Cosmos DB、Azure SQL Database、Azure Data Lake Storage);
  • 执行数据集成:集成是数据科学从"数据采集"走向"采取行动"的关键环节,借助云端数据集成服务(如 Data Factory)可从多源采集、转换并整合数据到统一的数据仓库;
  • 处理数据:处理海量数据需要巨大算力,并非人人都有足够强大的机器,因此很多人选择直接借助云的庞大算力来运行和部署解决方案;
  • 使用数据分析服务:如 Azure Synapse Analytics、Azure Stream Analytics、Azure Databricks,帮助把数据转化为可执行的洞察;
  • 使用机器学习与数据智能服务:不必从零开始,可直接使用云服务商提供的机器学习算法(如 Azure ML),也可使用语音转文本、文本转语音、计算机视觉等认知服务。

云上数据科学的典型案例

案例一:社交媒体实时情感分析。假设你运营一个新闻媒体网站,想利用实时数据理解读者感兴趣的内容,可以构建一个对 Twitter 数据做实时情感分析的程序。关键指标是特定话题(标签)的推文量以及基于分析工具得到的情感倾向。项目步骤为:创建用于流式输入的事件中心(Event Hub)以收集 Twitter 数据 → 配置并启动调用 Twitter Streaming API 的客户端应用 → 创建 Stream Analytics 作业 → 指定作业输入与查询 → 创建输出接收器并指定作业输出 → 启动作业。

案例二:科研论文分析。本课程作者之一 Dmitry Soshnikov 创建了一个分析 COVID 论文的工具,展示了如何构建从论文中提取知识、获得洞察、帮助研究者高效检索海量论文集的应用。其流程为:用 Text Analytics for Health 提取并预处理信息 → 用 Azure ML 并行化处理 → 用 Cosmos DB 存储与查询信息 → 用 Power BI 创建交互式仪表盘进行数据探索与可视化。


第二课:低代码/无代码方式训练心衰预测模型

Azure Machine Learning 是什么

Azure 云平台提供 200 多个产品与云服务。数据科学家在探索和预处理数据、尝试各种模型训练算法上耗费大量精力,这些任务耗时且常使昂贵的计算硬件利用率低下。Azure ML正是在 Azure 上构建和运行机器学习解决方案的云端平台,帮助数据科学家准备数据、训练模型、发布预测服务并监控其使用情况,核心价值在于通过自动化训练中大量耗时任务提升效率,并借助可按需扩展的云端算力处理大数据量、仅在真正使用时才产生成本。

Azure ML 为机器学习工作流提供的工具包括:

  • Azure Machine Learning Studio:面向低代码/无代码训练、部署、自动化、跟踪与资产管理的一站式 Web 门户,并与 Azure ML SDK 无缝集成;
  • Jupyter Notebooks:快速原型化和测试 ML 模型;
  • Azure Machine Learning Designer:通过拖拽模块构建实验并在低代码环境中部署管道;
  • 自动机器学习 UI(AutoML):自动化模型开发的迭代任务,以高规模、高效率和高生产力构建 ML 模型,同时保持模型质量;
  • Data Labelling(数据标注):自动标注数据的辅助 ML 工具;
  • Visual Studio Code 的机器学习扩展:构建和管理 ML 项目的全功能开发环境;
  • 机器学习 CLI:从命令行管理 Azure ML 资源的命令工具;
  • 开源框架集成:支持 PyTorch、TensorFlow、Scikit-learn 等,覆盖训练、部署与端到端流程管理;
  • MLflow:管理机器学习实验生命周期的开源库,其中 MLflow Tracking 组件负责记录和跟踪训练运行的指标与模型工件,与实验环境无关。

2.1 创建 Azure ML 工作区

训练模型前需要先创建Azure ML 工作区(workspace)——它是 Azure 机器学习的顶级资源,提供集中管理所有工件的场所,并保存所有训练运行的历史记录(包括日志、指标、输出和脚本快照),用于判断哪次训练产生了最佳模型。

创建前请注意浏览器要求:推荐使用与操作系统兼容的最新版浏览器,支持 Microsoft Edge(新版,非 legacy 版)、Safari(最新版,仅 Mac)、Chrome(最新版)、Firefox(最新版)。

注意:只要工作区存在于订阅中,就会因数据存储产生少量费用,因此建议不再使用时删除 Azure ML 工作区。

创建步骤:

  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记录默认新建的应用洞察资源
    Container registry无(首次将模型部署到容器时自动创建)
  4. 点击 "create + review" 后点击创建按钮,等待工作区创建完成;

  5. 在工作区"概述"页面启动 Azure Machine Learning studio(或在浏览器新标签页打开 https://ml.azure.com),用 Microsoft 账户登录;如提示,选择 Azure 目录、订阅和工作区;

  6. 在 Studio 中点击左上角 ☰ 图标,即可切换查看界面中的各个页面,管理工作区内的各类资源。

相比 Azure 门户,对数据科学家和 ML 运维工程师而言,Studio 提供了更聚焦的工作区资源管理界面。

2.2 计算资源(Compute Resources)

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

  • 计算实例(Compute Instances):数据科学家处理数据和模型的开发工作站,本质是创建一台虚拟机(VM)并启动笔记本实例,可从笔记本中调用计算集群来训练模型;
  • 计算集群(Compute Clusters):按需处理实验代码的可伸缩 VM 集群,训练模型时需要用到;可采用专用 GPU 或 CPU 资源;
  • 推理集群(Inference Clusters):使用已训练模型的预测服务的部署目标;
  • 附加计算(Attached Compute):链接到现有 Azure 计算资源,如虚拟机或 Azure Databricks 集群。
选择计算资源时的关键决策

CPU 还是 GPU?CPU 是执行计算机程序指令的电子电路,擅长快速处理广泛任务,但并发能力有限;GPU 是能以极高速度执行图形相关代码的专用电路,专为并行计算设计,在深度学习任务上明显更优。两者取舍:CPU 更便宜、并发级别低、训练深度学习模型更慢;GPU 更贵、并发级别高、是深度学习的理想选择。

集群大小(Cluster Size):更大的集群更贵但响应更好。时间充足而预算有限时应从小集群起步;反之若资金充足而时间紧张则用较大集群。

VM 大小(VM Size):可根据时间与预算约束调整 RAM、磁盘、核数与时钟频率,参数越大成本越高但性能越好。

专用还是低优先级实例?低优先级实例是可中断的——Azure 可能把资源收回分配给其他任务从而中断你的作业;专用(不可中断)实例则永远不会未经许可被终止。这是时间与金钱的又一权衡:可中断实例比专用实例更便宜。

创建计算集群

在 Azure ML 工作区 中进入 Compute 菜单,可看到上述四类计算资源。本项目训练模型需要一个计算集群:在 Studio 点击 "Compute" 菜单 → "Compute cluster" 选项卡 → 点击 "+ New" 创建:

  1. 选择选项:专用 vs 低优先级、CPU 或 GPU、VM 大小和核数(本项目可保留默认设置),点击 Next;
  2. 为集群命名;选择选项:最小/最大节点数、缩容前空闲秒数、SSH 访问。注意:最小节点数为 0 时集群空闲即可省钱;最大节点数越高训练越短,推荐最大节点数为3
  3. 点击 "Create",此步骤可能需要几分钟。

2.3 加载数据集

  1. 在 Azure ML 工作区点击左侧菜单 "Datasets" → "+ Create dataset",选择 "From local files",选取之前下载的 Kaggle 数据集;
  2. 给数据集命名、设置类型和描述,点击 Next 上传文件;
  3. 在 Schema 步骤中,为以下特征将数据类型改为Booleananaemiadiabeteshigh blood pressuresexsmokingDEATH_EVENT,然后点击 Next 和 Create。

数据集就位、计算集群创建完成后,即可开始模型训练。

2.4 用 AutoML 进行低代码训练

传统的模型开发需要大量资源、领域知识和时间才能产出并比较几十个模型。自动机器学习(AutoML)自动化了模型开发中耗时且迭代的任务,让数据科学家、分析师和开发者以高规模、高效率、高生产力构建 ML 模型,同时保持模型质量,大幅缩短获得生产级模型的时间。操作步骤:

  1. 在工作区点击左侧 "Automated ML",选择刚上传的数据集,点击 Next;
  2. 输入新的实验名(experiment name)、目标列(DEATH_EVENT)以及刚创建的计算集群,点击 Next;
  3. 选择Classification(分类),点击 Finish。此步骤根据计算集群大小可能需要30 分钟到 1 小时
  4. 运行完成后,点击 "Automated ML" 选项卡,点击你的运行,在 "Best model summary" 卡片中点击算法,即可查看 AutoML 生成的最佳模型的详细描述;也可以在 Models 选项卡中探索其他模型,并在 Explanations(预览按钮)中查看模型解释。

3.1 部署模型

AutoML 界面支持在几步内将最佳模型部署为 Web 服务。对本项目而言,部署意味着医疗应用可以消费该模型,对患者心脏病发作风险进行实时预测。在最佳模型描述中点击"Deploy"按钮:

  1. 输入名称、描述、计算类型(选择Azure Container Instance),启用身份验证(enable authentication),点击 Deploy。此步骤约需20 分钟;部署流程包含注册模型、生成资源并为 Web 服务配置等若干环节;
  2. 在 Deploy status 下会显示状态消息,可定期点击 Refresh 查看进度,状态变为"Healthy"即表示部署完成并运行中;
  3. 部署完成后,点击 Endpoint 选项卡并点击刚部署的端点,可查看该端点的全部详细信息。

3.2 消费端点

点击"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 页中的主键(仅在启用身份验证的情况下需要)。脚本正是通过这两项信息消费端点。运行脚本会得到输出:

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

脚本应返回:

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

第二组样本(60 岁、ejection_fraction 38、time 130 天等更接近真实患者的临床指标)得到false的预测结果,说明该患者不太可能发生心力衰竭。至此,你就通过低代码方式完成了模型的云端训练、部署与消费。

注意:项目完成后不要忘记删除所有资源。


第三课:Azure ML SDK 方式训练心衰预测模型

Azure ML SDK 是什么

数据科学家和 AI 开发者使用Azure Machine Learning SDK构建和运行机器学习工作流,可在任意 Python 环境中与服务交互,包括 Jupyter Notebooks、Visual Studio Code 或你喜欢的 Python IDE。SDK 的关键能力包括:

  • 探索、准备并管理机器学习实验中数据集的完整生命周期;
  • 管理用于监控、记录和组织机器学习实验的云资源;
  • 在本地或使用云资源(包括 GPU 加速)训练模型;
  • 使用自动机器学习:接收配置参数和训练数据,自动迭代算法与超参数设置,为预测找到最佳模型;
  • 部署 Web 服务,把训练好的模型转换为可被任意应用消费的 RESTful 服务。

上一课我们用低代码方式完成了心衰预测全流程,本课将用 Azure ML SDK 复现完全相同的过程。仓库中提供了可上传到 Azure ML Studio 的现成笔记本:19-Azure/notebook.ipynb(英文版,翻译版位于 translations/es/5-Data-Science-In-Cloud/19-Azure/notebook.ipynb),其中按顺序包含了实验创建、计算集群、AutoML 配置与运行、最佳模型注册、部署与端点消费的全部单元格,也可以参考 solution 目录下的解答版。

2.1 创建工作区与计算实例

为简单起见,SDK 路线在 Jupyter Notebook 中展开,前提是你已有工作区和计算实例。若尚未创建工作区,请参照上一课"创建 Azure ML 工作区"一节完成。随后在工作区中进入 Compute 菜单创建计算实例:点击 "+ New" → 为计算实例命名 → 选择 CPU 或 GPU、VM 大小和核数 → 点击 Create。

2.4 创建 Notebook

注意:下一步可以新建笔记本,也可以直接把仓库中的 notebook.ipynb 上传到 Azure ML Studio(点击 "Notebook" 菜单上传即可)。

Notebook 是数据科学流程中非常重要的一环,可用于开展探索性数据分析(EDA)、调用计算集群训练模型、调用推理集群部署端点。创建步骤:

  1. 回到工作区点击 Compute instances,在列表中看到刚创建的计算实例;
  2. 在 Applications 区域点击 Jupyter 选项,勾选 "Yes, I understand" 并点击 Continue;
  3. 浏览器新标签页会打开 Jupyter 实例,点击 "New" 按钮创建笔记本。

2.5.1 初始化工作区、实验、计算集群与数据集

从配置文件加载工作区对象:

from azureml.core import Workspace ws = Workspace.from_config()

该代码返回类型为Workspace的对象,代表你的工作区(配置文件 config.json 需放在当前目录)。随后创建实验:

from azureml.core import Experiment experiment_name = 'aml-experiment' experiment = Experiment(ws, experiment_name)

按实验名从工作区获取或创建实验。实验名必须为 3-36 个字符,以字母或数字开头,只能包含字母、数字、下划线和短横线;若工作区中不存在同名实验,则新建一个。

接下来为训练创建计算集群(此步骤可能需要几分钟):

from azureml.core.compute import AmlCompute aml_name = "heart-f-cluster" try: aml_compute = AmlCompute(ws, aml_name) print('Found existing AML compute context.') except: print('Creating new AML compute context.') aml_config = AmlCompute.provisioning_configuration(vm_size = "Standard_D2_v2", min_nodes=1, max_nodes=3) aml_compute = AmlCompute.create(ws, name = aml_name, provisioning_configuration = aml_config) aml_compute.wait_for_completion(show_output = True) cts = ws.compute_targets compute_target = cts[aml_name]

代码首先尝试获取名为heart-f-cluster的现有计算集群;不存在则用AmlCompute.provisioning_configuration配置(VM 规格Standard_D2_v2、最小 1 节点、最大 3 节点)并创建,随后wait_for_completion阻塞等待创建完成,最后从ws.compute_targets取出计算目标。按数据集名从工作区加载数据:

dataset = ws.datasets['heart-failure-records'] df = dataset.to_pandas_dataframe() df.describe()

注意数据集键(key)必须与上传时设定的数据集名称一致。

2.5.2 AutoML 配置与训练

使用AutoMLConfig类配置 AutoML。本项目使用的参数及其含义:

  • experiment_timeout_minutes:实验允许运行的最大时间(分钟),超过后自动停止并自动提供结果;
  • max_concurrent_iterations:实验允许的最大并发训练迭代数;
  • primary_metric:用于确定实验状态的主要指标;
  • compute_target:运行自动机器学习实验的计算目标;
  • task:要运行的任务类型,可选 'classification'、'regression' 或 'forecasting';
  • training_data:实验使用的训练数据,应同时包含训练特征和标签列;
  • label_column_name:标签列的名称;
  • path:Azure ML 项目文件夹的完整路径;
  • enable_early_stopping:短期内分数无改善时是否启用提前终止;
  • featurization:是否自动执行特征化步骤,或使用自定义特征化;
  • debug_log:写入调试信息的日志文件。
from azureml.train.automl import AutoMLConfig project_folder = './aml-project' automl_settings = { "experiment_timeout_minutes": 20, "max_concurrent_iterations": 3, "primary_metric" : 'AUC_weighted' } automl_config = AutoMLConfig(compute_target=compute_target, task = "classification", training_data=dataset, label_column_name="DEATH_EVENT", path = project_folder, enable_early_stopping= True, featurization= 'auto', debug_log = "automl_errors.log", **automl_settings )

配置就绪后提交训练(根据集群大小最多可能运行 1 小时):

remote_run = experiment.submit(automl_config)

可用 RunDetails 小部件展示不同实验:

from azureml.widgets import RunDetails RunDetails(remote_run).show()

3.1 保存最佳模型

remote_runAutoMLRun类型的对象,其get_output()方法返回最佳运行及对应的已拟合模型:

best_run, fitted_model = remote_run.get_output()

打印fitted_model可查看最佳模型的参数,用get_properties()可查看最佳模型的属性:

best_run.get_properties()

然后用register_model注册模型。从最佳运行中下载 AutoML 自动生成的评分脚本(outputs/scoring_file_v_1_0_0.py)作为部署入口脚本:

model_name = best_run.properties['model_name'] script_file_name = 'inference/score.py' best_run.download_file('outputs/scoring_file_v_1_0_0.py', 'inference/score.py') description = "aml heart failure project sdk" model = best_run.register_model(model_name = model_name, model_path = './outputs/', description = description, tags = None)

3.2 部署模型

保存最佳模型后,用InferenceConfig类配置部署:它表示部署时使用的自定义环境配置。AciWebservice类表示部署在 Azure 容器实例上的 Web 服务端点,由模型、脚本及相关文件创建,最终形成带 REST API 的负载均衡 HTTP 端点,可向其发送数据并接收模型预测结果。使用Model.deploy方法执行部署:

from azureml.core.model import InferenceConfig, Model from azureml.core.webservice import AciWebservice inference_config = InferenceConfig(entry_script=script_file_name, environment=best_run.get_environment()) aciconfig = AciWebservice.deploy_configuration(cpu_cores = 1, memory_gb = 1, tags = {'type': "automl-heart-failure-prediction"}, description = 'Sample service for AutoML Heart Failure Prediction') aci_service_name = 'automl-hf-sdk' aci_service = Model.deploy(ws, aci_service_name, [model], inference_config, aciconfig) aci_service.wait_for_deployment(True) print(aci_service.state)

此步骤需要几分钟。其中AciWebservice.deploy_configuration指定了 1 核 CPU、1 GB 内存以及标签和描述;wait_for_deployment(True)会阻塞直到部署完成,aci_service.state打印部署状态。

3.3 消费端点

构造样本输入并编码后发送给端点:

data = { "data": [ { '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", }, ], } test_sample = str.encode(json.dumps(data)) response = aci_service.run(input_data=test_sample) response

输出为'{"result": [false]}',表示该患者不太可能发生心力衰竭。至此,你已用 Azure ML SDK 完整走通了云端模型训练、部署与消费流程。

注意:项目完成后不要忘记删除所有资源。


课后挑战与延伸

挑战一(低代码路线):仔细观察 AutoML 为排名靠前的模型生成的模型解释与详情,尝试理解为什么最佳模型优于其他模型:AutoML 比较了哪些算法?它们之间的差异是什么?为什么在本案例中最佳模型表现更好?

挑战二(SDK 路线):SDK 还能做很多事。翻阅 Azure ML SDK 文档,找到允许创建管道的Pipeline类——管道是可按工作流执行的一组步骤。在 SDK 文档搜索栏中输入 "Pipeline" 等关键词,即可在结果中找到azureml.pipeline.core.Pipeline类。

此外,章节还为每节课配置了对应的实践作业:

  • 第一课作业:云服务商市场调研 —— 研究三家或以上云服务商能为数据科学家提供什么,对比其数据科学产品是否可相提并论,并撰写一篇一页纸的分析论文;
  • 第二课作业:低代码数据科学项目 —— 在 Kaggle 或 Azure Open Datasets 上另找数据集,用 AutoML 完成训练、部署与消费;进阶要求包括上传数据时正确设置特征类型、必要时清洗数据、查看模型解释;
  • 第三课作业:Azure ML SDK 数据科学项目 —— 用 Azure ML SDK 对另一个数据集完成同样的训练、部署与消费流程;进阶要求是查阅 SDK 文档、熟悉 AutoML 配置可用参数并查看模型解释。

小结

通过本章节的三个主题,你可以掌握一条完整的"云上数据科学"技能链:先理解云计算的本质、服务模型与数据科学场景下的价值;再以心衰预测项目为实战载体,体验低代码/无代码与 Azure ML SDK 两条实现路径。前者让你无需编写代码即可快速验证 AutoML 的分类效果并上线 REST 端点,后者则让你以完全可编程、可自动化的方式重现同一流程,为生产级 ML 工程的资源编排、管道构建与持续部署奠定基础。无论选择哪条路径,都别忘了在实验结束后清理工作区与相关资源,避免持续产生存储费用。课程相关的测验(每课课前/课后测验)与作业可通过 quiz-app 目录中的测验应用获得,更多章节内容请回到课程主页 README.md 继续学习。

【免费下载链接】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/13 9:57:31

SpringBoot二手书交易系统架构设计与实践

1. 项目背景与核心价值二手书交易平台在高校和社区中一直存在旺盛需求。传统线下交易模式存在信息不对称、交易效率低、价格不透明等问题。基于SpringBoot的二手书交易系统95q22正是为解决这些痛点而生。这个项目最核心的价值在于:为买卖双方提供标准化交易流程通过…

作者头像 李华
网站建设 2026/9/13 9:55:44

手写迷你操作系统内核:mingOS 0.0.2 实现解析

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

作者头像 李华
网站建设 2026/9/13 9:55:26

MongoDB 数据库 启用访问控制

0. 最近服务器安装了 MongoDB 被勒索了 测试服务器安装了 MongoDB 等,开放了 27017 对所有 ip。 哈哈哈哈哈哈,问就是有点犯懒,之前都是只允许自己的 ip。 好家伙,然后没过几个小时,数据库集合被清空,只…

作者头像 李华
网站建设 2026/9/13 9:54:04

告别429:Portkey 网关重试配置指南

告别429:Portkey 网关重试配置指南 【免费下载链接】gateway A blazing fast AI Gateway with integrated guardrails. Route to 1,600 LLMs, 50 AI Guardrails with 1 fast & friendly API. 项目地址: https://gitcode.com/GitHub_Trending/ga/gateway …

作者头像 李华