先看几个缩写:
下面两行都是被你预测为正类的数据:
TP(True Positive):正确的正类。(实际样本是正样本,你正确地判断成了正样本)
FP(False Positive): 错误的正类。(实际样本是负样本,你错误地把它当成了正样本)
下面两行都是被你预测成了负类的数据:
TN(True Negative):正确的负类,把负样本预测为负。(你预测对了)
FN(False Negative):错误的负类,把正样本预测为负。(你预测错了)
所以 Positive / Negative 是你预测的结果,你把那些样本预测成了 正类 / 负类 。
True / Flase 表示你的结果正确与否。不管你预测成正类或负类,True就是你预测对了,Flase就是你预测错了。
结合上面的解释和图示就很好理解了,在图中:
左边全是正类(绿色圈圈),个数是42个。
右边全是负类(红色圈圈),个数也是42个。
图中共有4个区域:
- 在正类中:
- 预测对了:被预测为正类的(TP,True Positive)的个数是32个。
- 预测错了:被预测为负类的(FN,False Negative)的个数是10个。
- 在负类中:
- 预测错了:被预测为正类的(FP,Flase Positive)的个数是14个。
- 预测对了:被预测为负类的(TN,True Negative)的个数是28个。
下面结合图示进行分析:
精确率(Precision)
P = T P T P + F P P = {\frac {TP} {TP+FP}} P=TP+FPTP
所以精确率就是,在所有被你预测为正类的数据中,预测对的(真正的正类)占多少。
按照图1
的例子,这里精确率就是:
P
=
T
P
T
P
+
F
P
=
32
32
+
14
=
32
46
=
69.565
%
P = {\frac {TP} {TP+FP}}={\frac {32} {32+14}}={\frac {32} {46}}=69.565\%
P=TP+FPTP=32+1432=4632=69.565%
很遗憾,精确率不是很高,看着分母你会想,要是 FP(Flase Positive) 再少一点就好了。然而,就算 Flase Positive 为 0 也不够,虽然此时 P = 100 % P=100\% P=100% ,但是在正类里面你还没有全部预测对,还漏了10个正类。
召回率(Recall)
R = T P T P + F N R = {\frac {TP} {TP+FN}} R=TP+FNTP
所以召回率就是,在所有真正的正类中,你成功预测到的占了多少。
按照图1
的示例,这里召回率是:
R = T P T P + F N = 32 32 + 10 = 32 42 = 76.19 % R = {\frac {TP} {TP+FN}}={\frac {32} {32+10}}={\frac {32} {42}}=76.19\% R=TP+FNTP=32+1032=4232=76.19%
怎样提高召回率?请看看公式或者看图。
准确率(Accuracy)
a
c
c
=
T
P
+
T
N
T
P
+
F
P
+
T
N
+
F
N
acc = {\frac {TP+TN} {TP+FP+TN+FN}}
acc=TP+FP+TN+FNTP+TN
所以准确率就是,在所有样本中,你预测对的占多少。
哪些是预测对的?正类里面你预测到了几个正类 + 负类里面你预测到了几个负类。
按照图1
的示例,这里准确率是:
a c c = T P + T N T P + F P + T N + F N = 32 + 28 32 + 10 + 28 + 14 = 32 + 28 84 = 71.43 % acc = {\frac {TP+TN} {TP+FP+TN+FN}}={\frac {32+28} {32+10+28+14}}={\frac {32+28} {84}}=71.43\% acc=TP+FP+TN+FNTP+TN=32+10+28+1432+28=8432+28=71.43%
目标检测中的准确率:
由于目标检测中没有 TN(因为预测框太多,低于得分的都直接去掉了,没有加入评价指标中),所以这里令 TN 为 0。
所以
a
c
c
=
T
P
+
T
N
T
P
+
F
P
+
T
N
+
F
N
=
T
P
T
P
+
F
P
+
F
N
\begin{aligned} acc &= {\frac {TP+TN} {TP+FP+TN+FN}} \\[1em] & = \dfrac{TP}{TP+FP+FN} \end{aligned}
acc=TP+FP+TN+FNTP+TN=TP+FP+FNTP
T P + F N TP + FN TP+FN 就是所有的真实目标,设为单位 1 1 1;那么 T P = 1 ∗ R TP=1 * R TP=1∗R,就是召回。
F P = T P P − T P = R P − R FP = \dfrac{TP}{P} - TP = \dfrac{R}{P} - R FP=PTP−TP=PR−R。
所以
a
c
c
=
R
1
+
F
P
=
R
1
+
R
P
−
R
=
R
P
P
+
R
P
−
P
R
P
=
P
R
P
+
R
−
P
R
\begin{aligned} acc &= \frac {R} {1+ FP} \\[2em] & = \dfrac{R}{1+\dfrac{R}{P} - R} \\[2em] & = \dfrac{R}{\dfrac{P}{P} + \dfrac{R}{P} - \dfrac{PR}{P}} \\[2em] & = \dfrac{PR}{ P + R - PR} \end{aligned}
acc=1+FPR=1+PR−RR=PP+PR−PPRR=P+R−PRPR