准确率accuracy/精确率precision/召回率recall的区别

实际上非常简单,精确率P是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是:
在这里插入图片描述
而召回率R是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。
在这里插入图片描述

其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。
在这里插入图片描述

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

查准率=检索出的相关信息量 / 检索出的信息总量
查全率=检索出的相关信息量 / 系统中的相关信息总量
下面举几个例子:

例子1:假设我们手上有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

例子2:某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。

精确率(precision) = 700 / (700 + 200 + 100) = 70%
召回率(recall) = 700 / 1400 = 50%

猜你喜欢

转载自blog.csdn.net/xiaohuihui1994/article/details/84946903