查准率(Precision)和召回率(Recall)

Posted

tags:

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

参考技术A

在处理分类问题时,会遇到一种情况:

假设一个二元分类问题:假设我们的预测算法是: ,这个算法忽略特征值 ,不管任何情况下都是预测 等于0。

毫无疑问这是一个糟糕的算法,但是在测试集中,99%的样本输出 ,1%的样本输出 ,这样计算预测算法的误差率的时候,会的到1%的误差率,这就是很糟糕的情况,一个完全错误的算法得到了一个正确率很高的测试结果。

这种情况称之为 偏斜类(Skewed Classes) 的问题。

处理这种情况,需要参考查准率和召回率

上图的表格中,提到了四个概念。
TP(真阳性) 预测为真的样本中确实为真的数量。
FP(假阳性) 预测为真的样本中确实为假的数量。
FN(假阴性) 预测为假的样本中确实为真的数量。
TN(真阴性) 预测为假的样本中确实为假的数量。

举个例子来说明

预测某些病人有没有得癌症。
假设有100个样本,真实情况是有10个得癌症的,通过预测函数遇到到了有12个得了癌症,其中有8个是真实得癌症的。
这种情况下:
TP=8
FP=12-8=4
FN=10-8=2
TN=(100-12)-2=86

正确预测为1,正确预测为0的样本比率,公式为:
上例中准确率为

查准率是指在所有预测为1的样本中预测正确的比率,公式为:
上例中查准率为

召回率是指在所有真正为1的样本中预测正确的比率,公式为:
上例中召回率为

在最开始偏斜类问题中 TP=0,召回率为0,因此那个预测算法是错误的。

在分类问题中, 是我们就预测为1, 是我们就预测为0;

边界条件就是0.5
当提高边界值时,即 ,查准率会提高,召回率会下降;
当减小边界值时,即 ,召回率会提高,查准率会下降。

查准率和召回率之间的变化关系和上图类似,变化的曲线可能不是上图的平滑关系。大方向两者是相反的增长。

要判断一个学习学习算法需要综合考虑查准率和召回率,可以使用 F值(F-Score) 来综合评价。
公式为:2

通过上面,可以得出算法1的性能比较好。

查准率(precision)和召回率(recall)

1、定义

查准率(precision):预测患有癌症且预测正确的人数 / 预测有多少人患有癌症

召回率(recall):预测患有癌症且预测正确的人数 / 实际有多少人患有癌症

2、关系

他俩的关系如下:

技术图片

3、F值

F值又称F1值,定义如下,若有P或者R=0时,则F=0,该算法较差。F值越高越好。

技术图片

例子:

技术图片

 

以上是关于查准率(Precision)和召回率(Recall)的主要内容,如果未能解决你的问题,请参考以下文章

准确率(precision)与召回率(recall)

准确率(Precision)、召回率(Recall)、F值(F-Measure)

系统评测指标—准确率(Precision)召回率(Recall)F值(F-Measure)

推荐系统评测指标—准确率(Precision)召回率(Recall)F值(F-Measure)

斯坦福大学公开课机器学习:machine learning system design | trading off precision and recall(F score公式的提出:学习算法中如何平

准确率与召回率(Precision & Recall)F-score