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

相关推荐
攻城狮_Dream几秒前
“探索未来医疗:生成式人工智能在医疗领域的革命性应用“
人工智能·设计·医疗·毕业
忘梓.2 分钟前
划界与分类的艺术:支持向量机(SVM)的深度解析
机器学习·支持向量机·分类
Chef_Chen7 分钟前
从0开始机器学习--Day17--神经网络反向传播作业
python·神经网络·机器学习
学习前端的小z29 分钟前
【AIGC】如何通过ChatGPT轻松制作个性化GPTs应用
人工智能·chatgpt·aigc
埃菲尔铁塔_CV算法1 小时前
人工智能图像算法:开启视觉新时代的钥匙
人工智能·算法
EasyCVR1 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
MarkHD1 小时前
第十一天 线性代数基础
线性代数·决策树·机器学习
打羽毛球吗️1 小时前
机器学习中的两种主要思路:数据驱动与模型驱动
人工智能·机器学习
好喜欢吃红柚子1 小时前
万字长文解读空间、通道注意力机制机制和超详细代码逐行分析(SE,CBAM,SGE,CA,ECA,TA)
人工智能·pytorch·python·计算机视觉·cnn
小馒头学python1 小时前
机器学习是什么?AIGC又是什么?机器学习与AIGC未来科技的双引擎
人工智能·python·机器学习