查准率(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)、F值(F-Measure)
系统评测指标—准确率(Precision)召回率(Recall)F值(F-Measure)
推荐系统评测指标—准确率(Precision)召回率(Recall)F值(F-Measure)
斯坦福大学公开课机器学习:machine learning system design | trading off precision and recall(F score公式的提出:学习算法中如何平