机器学习 | 准确率、召回率、精准率、特异度傻傻分不清?ROC曲线怎么看?一篇文章帮你搞定

一、真正类、假负类、假正类与真负类

二、准确率、召回率、精准率、特异度与假正率

1. 准确率 (Accuracy)

准确率表明成功预测(预测为负或为正)的结果占总样本的百分比。

准确率 = ,

2. 召回率/查全率/灵敏度/真正率(Recall)

召回率(查全率),又叫灵敏度,真正率,表明所有原本为正的样本中被预测正确的结果的百分比。

召回率(查全率) = = 灵敏度 = 真正率

帮助记忆:所有被感染(阳性)的患者都被检测出来,召回治疗。

提升召回率是为了不漏报。(如果自身为阳性的患者没有被检测出来及时治疗,就可能会将病毒传染给更多的人,很危险。)

3. 精准率(Precision)

精准率表示在所有预测为正的样本中预测正确的有多少。

精准率 = ,

帮助记忆:检验当前检测使用的标准(能够使检测呈现阳性的标准)有多少能精准地表示被检测者的确是小阳人。

提高精准率是为了不错报。 (如果检验为阳性,其实没有感染的人很多,就会造成治疗成本和心理负担增加。)

4. 特异度(Specificity)

特异度表示在所有原本为负的样本中被预测正确的有多少。

特异度 = 真负率 = ,

帮助记忆:特异性越高,说明没有感染的病人不容易被误报,检测只针对特定(specific)情况才有阳性反应,即筛选能力强,或者说针对性强。

5. 假正率(FPR)

假正率表示所有原本为负的情况中有多少是被预测错的。

假正率 = 1- 特异率 =

假正率反映了虚报响应度,如明明没被感染却被检测为阴性。

三、ROC曲线

ROC曲线反映了在不同的阈值下的真正率(预测击中响应度)和假正率(虚报响应度)。

纵轴:真正率;横轴:假正率

ROC曲线如下图所示:

ROC由无数个点组成,每个点都代表着一个分类器,表示在当前阈值下TPR与FPR的值。

可以看到,ROC曲线过(1,1)和(0,0),这两点分别代表着阈值为0和1的情况。

当阈值为0时,所有样本都不加以识别地被判断为正(一般假设高于阈值的样本为正,低于阈值的为负),因此TPR为1(TPR反映的是所有正样本被检测为正的有多少,在当前阈值下所有样本都为1,漏报的样本数FN为0,所以TPR = 1),FPR也为1(FPR反映了虚报响应度,既然所有样本,包括本来为负的那些都被标注为1,那么就不存在负的样本被预测对的情况,因此FN = 0,FPR = 1)。

当阈值为1,所有样本都不加以识别地被判断为负。因此不存在被判别对的正样本,TP = 0,TPR = 0。同样也不存在被误判为正的负样本(所有样本都被判别为负),FP = 0, FPR = 0。

如何判断ROC曲线的好快呢?可以从下面几个方面分析:

  1. 形状和凸度:ROC曲线应该是向左上方弯曲的,即靠近(0,1),这表示模型在保持高的真正率(TPR)的同时,尽量保持低的假正率(FPR)。曲线越靠近左上角,表示模型性能越好。

  2. 曲线下面积(AUC值):ROC曲线下的面积(AUC,Area Under the Curve)是评价分类器性能的重要指标之一。AUC的取值范围是0到1,值越大表示模型性能越好。AUC为1表示模型完美分类,AUC为0.5表示模型等同于随机猜测。

  3. 与对角线的关系:ROC曲线越远离对角线(45度直线),说明模型的性能越好。对角线上的点表示随机分类器的性能。

  4. 预测性能的可调性:ROC曲线上的每个点对应于分类器在不同阈值下的性能。一个好的ROC曲线应该展示出在不同阈值下模型的稳健性和预测性能。

  5. 业务应用背景 :最终评判一条好的ROC曲线还需考虑具体业务场景。例如,某些场景对于高召回率(TPR)更为敏感,如在生命危险环境下,如火灾或自然灾害预警系统中,高TPR可以及时发现危险情况,保护生命安全。而在另一些场景中,则可能需要平衡召回率和假警报率,如欺诈检测系统来说,降低FPR尤为关键。高FPR可能会导致过多的正常交易被错误地标记为欺诈,从而影响客户体验和业务效率。

相关推荐
QY_Research_44 分钟前
2026房地产NFT平台创业机遇与落地指南分析报告
大数据·人工智能·物联网·机器人·制造
机器人零零壹2 小时前
技术白皮书:iRobotCAM如何解决机器人激光切割应用中的核心难点,从CAD离线编程到双目视觉定位与轨迹自适应提升复杂空间曲线切割的精度、效率与柔性化水平
人工智能·算法
电子元件小说家3 小时前
2026年四季度电感市场观察:AI算力与汽车电子驱动下的选型与验证建议智能硬件
人工智能·汽车
网易CodeWave-小码哥3 小时前
支持多模块 Java 微服务导入|CodeWave SDD V4.5.10 上线
人工智能
AI你一生一世3 小时前
不止于时序存储:DolphinDB 如何成为 AI 时代的工业智能底座
java·人工智能·struts·时序数据库·工业智能·dolphindb·ai基础设施
belldeep3 小时前
python:genesis-world, Genesis-Embodied-AI
人工智能·python·ai·genesis
怕浪猫4 小时前
小程序成长计划上新:10 亿 Token 现在能调 DeepSeek-v4.1-flash了
人工智能·aigc·ai编程
ss2734 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
七牛云行业应用5 小时前
DeepSeek Super-agent 与 Grok Bot:开源 Agent 架构和聊天助手有何区别
人工智能·ai·架构·ai编程
维克兜率天5 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python