精确率和召回率概念

对这几个定义一直不是很清晰:转载一些加以记忆:

对于数据测试结果有下面4种情况:

TP: 预测为正,实际为正

TN: 预测为负,实际为负

FP:预测为正,实际为负

FN: 预测为负,实际为正

T/F:表示预测结果是否正确

P/N:表示预测结果是正或负样本

精确率、准确率:Accuracy=(TP+TN)/(TP+TN+FN+FP)

精准率、查准率: P = TP/ (TP+FP)

召回率、查全率: R = TP/ (TP+FN)

真正例率(同召回率、查全率):TPR = TP/ (TP+FN)

假正例率:FPR =FP/ (FP+TN)

F1-score: 2*TP/(2*TP + FP + FN)

回率和精度示意图

  • recall

假定:从一个大规模数据集合中检索文档时,可把文档分成四组:

- 系统检索到的相关文档(A)

- 系统检索到的不相关文档(B)

- 相关但是系统没有检索到的文档(C)

- 不相关且没有被系统检索到的文档(D)

则:

- 召回率R:用实际检索到相关文档数作为分子,所有相关文档总数作为分母,即R = A / ( A + C )

- 精度P:用实际检索到相关文档数作为分子,所有检索到的文档总数作为分母,即P = A / ( A + B )

举例来说:

一个数据库有500个文档,其中有50个文档符合定义。系统检索到75个文档,但是实际只有45个符合定义。则:

召回率R=45/50=90%

精度P=45/75=60%

本例中,系统检索是比较有效的,召回率为90%。但是结果有很大的噪音,有近一半的检索结果是不相关。 研究表明:在不牺牲精度的情况下,获得一个高召回率是很困难的。

-------------------------------------------这是一条可爱的分界线,如果还不明白,可以看下这个----------------------------------------------------

一.定义辨析

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

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

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

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

  • 精确率和召回率概念_第1张图片

 

精确率和召回率概念_第2张图片

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

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

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

二.举个栗子

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

  • TP: 将正类预测为正类数 40

  • FN: 将正类预测为负类数 20

  • FP: 将负类预测为正类数 10

  • TN: 将负类预测为负类数 30

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

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

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

学习来自:
作者:菜鸟瞎编
链接:https://www.jianshu.com/p/4434ea11c16c
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

 

 

 

你可能感兴趣的:(数据,学习资料,精确率,召回率)