先看几个缩写:

下面两行都是被你预测为正类的数据:
TP(True Positive):正确正类。(实际样本是正样本,你正确地判断成了正样本)
FP(False Positive): 错误正类。(实际样本是负样本,你错误地把它当成了正样本)



下面两行都是被你预测成了负类的数据:
TN(True Negative):正确负类,把负样本预测为负。(你预测对了)
FN(False Negative):错误负类,把正样本预测为负。(你预测错了)



所以 Positive / Negative 是你预测的结果,你把那些样本预测成了 正类 / 负类
True / Flase 表示你的结果正确与否。不管你预测成正类或负类,True就是你预测对了,Flase就是你预测错了。

目标检测精度召回率计算_算法


图1


结合上面的解释和图示就很好理解了,在图中:
左边全是正类(绿色圈圈),个数是42个。
右边全是负类(红色圈圈),个数也是42个。

图中共有4个区域:

  • 在正类中:
  1. 预测对了:被预测为正类的(TP,True Positive)的个数是32个。
  2. 预测错了:被预测为负类的(FN,False Negative)的个数是10个。
  • 在负类中:
  1. 预测错了:被预测为正类的(FP,Flase Positive)的个数是14个。
  2. 预测对了:被预测为负类的(TN,True Negative)的个数是28个。


下面结合图示进行分析:

精确率(Precision)

目标检测精度召回率计算_召回率_02

  所以精确率就是,在所有被你预测为正类的数据中,预测对的(真正的正类)占多少。
  按照图1的例子,这里精确率就是:
目标检测精度召回率计算_算法_03

FP(Flase Positive) 再少一点就好了。然而,就算 Flase Positive0 也不够,虽然此时 目标检测精度召回率计算_召回率_04

目标检测精度召回率计算_机器学习_05


图2 精确率示意图



召回率(Recall)

目标检测精度召回率计算_机器学习_06

  所以召回率就是,在所有真正的正类中,你成功预测到的占了多少。
  按照图1的示例,这里召回率是:

目标检测精度召回率计算_目标检测_07

  怎样提高召回率?请看看公式或者看图。

目标检测精度召回率计算_目标检测精度召回率计算_08


图3 召回率示意图



准确率(Accuracy)

目标检测精度召回率计算_目标检测精度召回率计算_09
  所以准确率就是,在所有样本中,你预测对的占多少。
  哪些是预测对的?正类里面你预测到了几个正类 + 负类里面你预测到了几个负类。
  按照图1的示例,这里准确率是:

目标检测精度召回率计算_目标检测精度召回率计算_10

目标检测精度召回率计算_机器学习_11



目标检测中的准确率:
由于目标检测中没有 TN(因为预测框太多,低于得分的都直接去掉了,没有加入评价指标中),所以这里令 TN 为 0。

所以
目标检测精度召回率计算_目标检测精度召回率计算_12

目标检测精度召回率计算_机器学习_13 就是所有的真实目标,设为单位 目标检测精度召回率计算_召回率_14;那么 目标检测精度召回率计算_算法_15,就是召回。

目标检测精度召回率计算_机器学习_16

所以
目标检测精度召回率计算_召回率_17