机器学习 | 准确率、召回率、精准率、特异度傻傻分不清?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可能会导致过多的正常交易被错误地标记为欺诈,从而影响客户体验和业务效率。

相关推荐
海宇服务4 小时前
零信任架构实战:基于海宇车型识别精准构建自动化定损网关
运维·人工智能·架构·自动化
火山引擎开发者社区4 小时前
一个 Agent 额度用完,怎么让别的接着干?
人工智能
YH行业报告分析4 小时前
2026 AI法律合同审查平台市场洞察:NLP与机器学习如何推动企业合规与合同流程智能化?
人工智能·机器学习·自然语言处理
田里的水稻4 小时前
FA_融合和滤波(FF)-误差状态卡尔曼滤波(ESKF)
人工智能·机器学习·机器人·自动驾驶
yychen_java5 小时前
第六篇:Spring AI 实战:将 Java 业务接口封装成企业级 MCP Server
java·人工智能·spring
火山引擎开发者社区5 小时前
AgentKit 模型网关上手指南|告别多模型管理混乱
人工智能
智联视频超融合平台5 小时前
WebRTC + AI:实时音视频中嵌入神经网络推理的架构设计
人工智能·webrtc·实时音视频
AIGC小尼5 小时前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧
悟天特斯5 小时前
边缘计算赋能楼宇智能化:云边协同的实时闭环与自治架构
人工智能·架构·边缘计算
码农幻想梦5 小时前
深度学习与神经网络(二)
人工智能·深度学习·神经网络