精确率和召回率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了精确率和召回率相关的知识,希望对你有一定的参考价值。

参考技术A 原文 精确率,召回率

刚开始接触这两个概念的时候总搞混,时间一长就记不清了。

实际上非常简单,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是

而召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。

在信息检索领域,精确率和召回率又被称为查准率和查全率,

查准率=检索出的相关信息量 / 检索出的信息总量

查全率=检索出的相关信息量 / 系统中的相关信息总量

假设我们手上有60个正样本,40个负样本,我们要找出所有的正样本,系统查找出50个,其中只有40个是真正的正样本,计算上述各指标。

准确率(accuracy) = 预测对的/所有 = (TP+TN)/(TP+FN+FP+TN) = 70%

精确率(precision) = TP/(TP+FP) = 80%

召回率(recall) = TP/(TP+FN) = 2/3

除此之外,还有ROC曲线,PR曲线,AUC等评价指标,可以参见我的博客: 机器学习性能评估指标 **

相关链接: 机器学习和统计里面的auc怎么理解?
ROC,AUC,Precision,Recall,F1的介绍与计算

分类--精确率和召回率

精确率

精确率指标尝试回答以下问题:

在被识别为正类别的样本中,确实为正类别的比例是多少?

精确率的定义如下:

$$\\text{Precision} = \\frac{TP}{TP+FP}$$

让我们来计算一下上一部分中用于分析肿瘤的机器学习模型的精确率:

真正例 (TP):1 假正例 (FP):1
假负例 (FN):8 真负例 (TN):90
$$\\text{精确率} = \\frac{TP}{TP+FP} = \\frac{1}{1+1} = 0.5$$

该模型的精确率为 0.11,也就是说,该模型在预测恶性肿瘤方面的正确率是 50%。

召回率


召回率尝试回答以下问题:

在所有正类别样本中,被正确识别为正类别的比例是多少?

从数学上讲,召回率的定义如下:

$$\\text{召回率} = \\frac{TP}{TP+FN}$$

让我们来计算一下肿瘤分类器的召回率:

真正例 (TP):1 假正例 (FP):1
假负例 (FN):8 真负例 (TN):90
$$\\text{召回率} = \\frac{TP}{TP+FN} = \\frac{1}{1+8} = 0.11$$

该模型的召回率是 0.11,也就是说,该模型能够正确识别出所有恶性肿瘤的百分比是 11%。

精确率和召回率:一场拔河比赛


要全面评估模型的有效性,必须同时检查精确率和召回率。遗憾的是,精确率和召回率往往是此消彼长的情况。也就是说,提高精确率通常会降低召回率值,反之亦然。请观察下图来了解这一概念,该图显示了电子邮件分类模型做出的 30 项预测。分类阈值右侧的被归类为“垃圾邮件”,左侧的则被归类为“非垃圾邮件”。

image

我们根据图 1 所示的结果来计算精确率和召回率值:

真正例 (TP):8 假正例 (FP):2
假负例 (FN):3 真负例 (TN):17

精确率指的是被标记为垃圾邮件的电子邮件中正确分类的电子邮件所占的百分比,即图 1 中阈值线右侧的绿点所占的百分比:

$$\\text{Precision} = \\frac{TP}{TP + FP} = \\frac{8}{8+2} = 0.8$$

召回率指的是实际垃圾邮件中正确分类的电子邮件所占的百分比,即图 1 中阈值线右侧的绿点所占的百分比:

$$\\text{Recall} = \\frac{TP}{TP + FN} = \\frac{8}{8 + 3} = 0.73$$

图 2 显示了提高分类阈值产生的效果。

image

假正例数量会减少,但假负例数量会相应地增加。结果,精确率有所提高,而召回率则有所降低:

真正例 (TP):7 假正例 (FP):1
假负例 (FN):4 真负例 (TN):18
$$\\text{Precision} = \\frac{TP}{TP + FP} = \\frac{7}{7+1} = 0.88$$

\\[\\text{Recall} = \\frac{TP}{TP + FN} = \\frac{7}{7 + 4} = 0.64 \\]

相反,图 3 显示了降低分类阈值(从图 1 中的初始位置开始)产生的效果。

image

假正例数量会增加,而假负例数量会减少。结果这一次,精确率有所降低,而召回率则有所提高:

真正例 (TP):9 假正例 (FP):3
假负例 (FN):2 真负例 (TN):16
$$\\text{Precision} = \\frac{TP}{TP + FP} = \\frac{9}{9+3} = 0.75$$

\\[\\text{Recall} = \\frac{TP}{TP + FN} = \\frac{9}{9 + 2} = 0.82 \\]

我们已根据精确率和召回率指标制定了各种指标。


引用

分类 (Classification):精确率和召回率

以上是关于精确率和召回率的主要内容,如果未能解决你的问题,请参考以下文章

准确率(Accuracy) 精确率(Precision) 召回率(Recall)和F1-Measure(精确率和召回率的调和平均值)

分类--精确率和召回率

精确率和召回率

模型中的精确率和召回率是相同的

准确率、精确率、召回率

准确率、精确率、召回率