
出品 | CDA数据分析研究院
数据科学是一个在过去几年里真正成长的术语,似乎每个人都想加入。最具吸引力的目标之一是利用数据资产的力量来创建能够预测各种结果的机器学习模型。通过定义明确的模型,可以确定能够预测结果的最重要影响因素,为战略假设开发有价值的洞察力,甚至可以通过友好的用户界面将模型的逻辑实现到软件应用程序中。
然而,在任何这种魔法发生之前,我们需要知道模型创建的预测是否有益!例如,如果我们的电子邮件程序的垃圾邮件分类器只能检测到50%的不需要的电子邮件或请求,我们都会非常愤怒。在这篇文章中,我将讨论如何使用每个数据科学家应该熟悉的经典工具来评估预测模型:接收器操作特性(ROC)曲线。
说明性实例:预测冠状动脉疾病
我在这篇文章中使用的数据集来自Bom等人对“疑似冠状动脉疾病患者冠状动脉斑块形态的靶向蛋白质组学的预测价值”。
这项研究检查了两种不同的结果,我将重点关注这篇文章的是没有冠状动脉疾病(CAD)。作者评估了蛋白质组学生物标志物在有症状患者中检测CAD缺失的预测能力。确定一组可以区分无CAD患者和需要立即干预的蛋白质的蛋白质组将提供更准确和成本有效的非侵入性诊断测试。
该数据集是测试多个数据科学主题的绝佳来源。通过少量观察,它很容易使用,但它还包含大量变量以增加复杂性。结果(使用冠状动脉计算机断层扫描血管造影术,或CCTA)的可行“黄金标准”被提供来测试预测。对于这篇文章,我将主要关注从单一模型构建ROC曲线,但可以在后面的帖子中使用此数据集深入研究更高级的主题。
预测精度测量概述
在开始创建曲线之前,了解一些评估预测准确性的常用指标非常重要。
积极类:我将正类定义为我试图检测的结果类。在这种情况下,缺少 CAD。虽然我意识到这可能会导致诊断测试领域中的“积极”和“消极”这两个术语混淆,但这种方式定义积极类更能推广到其他情况。
在这种情况下处理有症状患者的默认方法是让他们接受进一步的测试和程序。通过充分检测没有CAD的患者,我们将不再需要不必要的,更具侵入性的手术。
一般准确性:简单地说,有多少科目正确分类?
敏感性:正确识别真阳性的比例。在这种情况下,健康患者的比例由诊断工具正确识别。这有时被称为“召回”。
特异性:正确识别真阴性的比例。在这种情况下,通过诊断工具正确识别CAD患者的比例。
积极预测价值:该工具报告的阳性比例,实际上是积极的。对于诊断工具报告缺乏CAD的患者组,PPV是实际上没有患病的患者的比例。这有时被称为“精确度”。
负面预测值:该工具报告的负面影响的比例,实际上是负面的。对于诊断工具报告存在CAD的患者组,NPV是实际上没有CAD的患者的比例。
不要担心,如果你的大脑试图理清所有这些指标。这些术语很容易混淆,特别是在第一次学习它们时。我发现在2x2表中可视化内容最容易。
二进制类的混淆矩阵(正=没有CAD,负= CAD)
曲线的解剖
ROC曲线的优点在于它是一种易于理解的图形工具,可应用于您创建的任何预测模型。以下是曲线的基础知识:
轴:灵敏度和误报率
首先,我们需要为情节创造空间。通过将灵敏度与1-特异性(或假阳性率)作图来建立ROC曲线。
预测概率
现在我们需要绘制一些东西。回想一下,预测模型会将每个观察分配给最可能的类(在这种情况下,没有CAD与CAD的存在)。模型实际上在做的是计算属于特定类的概率。在0和1之间选择截止值,并且如果计算的概率超过该阈值,则将观察值分配给该类。
您可能会发现在大多数软件包中,默认截止值设置为0.5,逻辑是,在二进制类中,可以将观察值分配给最可能的类。但是,正如我们所看到的,最好在考虑灵敏度和特异性之间的权衡之后选择截止值。
通过绘制所有可能的截止值来生成ROC曲线,所述截止值是分配给每个观察的概率。选择不同的截止值将改变预测工具的灵敏度和特异性,因此,可以使用相关的灵敏度和1-特异性作为坐标在图的空间中绘制每个截止概率。最靠近左上角的点(SN = 1,FPR = 0)提供精度度量之间的最大平衡。
曲线下面积(AUC)
AUC是一个类似于二元模型的一致性或c统计量的度量。这是具有正类的观察将具有比在负类中的观察更大的预测概率的概率。
如果AUC = 1,则表示模型有完美的预测。如果AUC = 0.5,则意味着模型无法区分类。它在逻辑回归中的行为与r平方相似,因为添加更多预测因子会增加AUC。因此,在分析中包括对外部数据的交叉验证或验证非常重要。
AUC可用于评估不同的预测模型。
参考线
绘制参考线通常是个好主意,其中AOC = 0.5在ROC图上。这提供了比较曲线的基线视觉效果。
生成ROC曲线
虽然可以使用几个不同的程序来开发预测模型和ROC曲线,但我已经在R中实现了分析。
为了预测结果,我使用xgboost创建了一个分类模型,其中蛋白质生物标记物作为预测因子,并使用重新取代方法来预测数据集中的结果。使用预测的概率,我可以形成上面显示的ROC曲线。
注意:该程序也设置为使用k-fold交叉验证,或者可以更新以利用外部验证,例如列车和测试集的70/30分割(尽管我想要更多数据)。
解释曲线
AUC为0.738,实际上低于作者用他们的机器学习方法所发现的(堆叠可能提高了分类器的准确性)。但是,我更关心的是选择合适的截止值并权衡工具的成本和收益。
模型的总体准确性是不错的,但是当发生假阳性结果时,会发生CAD患者而不是通过必要的程序?让我们同意这不会是一件好事。
为了安全起见,尽可能减少诊断工具的误报率可能是个好主意。在生成混淆矩阵时,很容易选择保持低误报率的概率截止值。这将作为谁被标记为无CAD的决定标准。
通过选择保持90%特异性(10%假阳性率)的概率截止值,分类工具能够检测到42%没有CAD的患者(敏感性= 0.42)。在这种情况下,这实际上是一个非常好的结果,因为现状是让所有有症状的患者接受更具侵入性的诊断程序。尽管42%的灵敏度可能听起来很低,但在这种特定情况下,这是一个很有希望的结果。
在开发用于预测有症状患者的CAD状态的分类器时,最重要的是在保持低误报率的同时实现尽可能高的灵敏度。
ROC曲线的优点在于您可以从单个图像中可视化所有这些性能指标。将曲线与竞争模型进行比较是一种快速简便的方法,可以选择合适的分类或诊断工具。
我只研究了使用ROC曲线和二进制分类工具,但它可以很容易地扩展到多类方案。在同一图形上,可以绘制与每个特定类别中的概率相对应的多条曲线。
在撰写本文时,我详细介绍了如何构建ROC曲线,目的是增加对预测精度度量的理解,以及如何评估您可能正在构建的这些数据科学分类工具。
标题:Illustrating Predictive Models with the ROC Curve
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在 “神经网络与卡尔曼滤波融合” 的理论基础上,Python 凭借其丰富的科学计算库(NumPy、FilterPy)、深度学习框架(PyTorch、T ...
2025-10-23在工业控制、自动驾驶、机器人导航、气象预测等领域,“状态估计” 是核心任务 —— 即从含噪声的观测数据中,精准推断系统的真 ...
2025-10-23在数据分析全流程中,“数据清洗” 恰似烹饪前的食材处理:若食材(数据)腐烂变质、混杂异物(脏数据),即便拥有精湛的烹饪技 ...
2025-10-23在人工智能领域,“大模型” 已成为近年来的热点标签:从参数超 1750 亿的 GPT-3,到万亿级参数的 PaLM,再到多模态大模型 GPT-4 ...
2025-10-22在 MySQL 数据库的日常运维与开发中,“更新数据是否会影响读数据” 是一个高频疑问。这个问题的答案并非简单的 “是” 或 “否 ...
2025-10-22在企业数据分析中,“数据孤岛” 是制约分析深度的核心瓶颈 —— 用户数据散落在注册系统、APP 日志、客服记录中,订单数据分散 ...
2025-10-22在神经网络设计中,“隐藏层个数” 是决定模型能力的关键参数 —— 太少会导致 “欠拟合”(模型无法捕捉复杂数据规律,如用单隐 ...
2025-10-21在特征工程流程中,“单变量筛选” 是承上启下的关键步骤 —— 它通过分析单个特征与目标变量的关联强度,剔除无意义、冗余的特 ...
2025-10-21在数据分析全流程中,“数据读取” 常被误解为 “简单的文件打开”—— 双击 Excel、执行基础 SQL 查询即可完成。但对 CDA(Cert ...
2025-10-21在实际业务数据分析中,我们遇到的大多数数据并非理想的正态分布 —— 电商平台的用户消费金额(少数用户单次消费上万元,多数集 ...
2025-10-20在数字化交互中,用户的每一次操作 —— 从电商平台的 “浏览商品→加入购物车→查看评价→放弃下单”,到内容 APP 的 “点击短 ...
2025-10-20在数据分析的全流程中,“数据采集” 是最基础也最关键的环节 —— 如同烹饪前需备好新鲜食材,若采集的数据不完整、不准确或不 ...
2025-10-20在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15