问题引出
以西瓜问题为例,我们现在想要解决的问题为“挑出的西瓜有多少是好西瓜”,“所有好瓜中有多少被挑了出来”。一、混淆矩阵
对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive),假正例(false positive),真反例(true negative),假反例(false negative)四种情形,其中TP+FN+FP+TN=样例总数。
预测结果 | ||
---|---|---|
真实情况 | 正例 | 反例 |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
二、查准率和查全率
查准率P与查全率R分别定义为
P
=
T
P
T
P
+
F
P
P=\frac{TP}{TP+FP}
P=TP+FPTP
R
=
T
P
T
P
+
F
N
R=\frac{TP}{TP+FN}
R=TP+FNTP
查准率也称准确率(precision),查全率也称召回率(recall)
查准率为预测结果为正例中实际正例的占比
查全率为真实情况为正例中预测正例的占比
以西瓜问题为例。
查准率反应的问题为:算法挑选的西瓜有多少是好西瓜。
查全率反应的问题为:所有的好西瓜有多少被算法挑出来了。
查准率和查全率是一对矛盾的度量。一般来说,查准率高的时候,查全率往往偏低。
比如,例如希望尽可能多的将好瓜挑选出来,可以通过增加选瓜的数量来实现,如果将所有西瓜都选上,那么所有的好瓜也必然被选上,但这样查准率就会较低。
如果希望挑出的好瓜比例尽可能高,那么就会选择最有把握的瓜,但这样就不可避免漏掉很多好瓜,使得查全率较低,通常只有在一些简单任务中,两者才会很高。
以查准率为纵轴,查全率为横轴作图,就得到了查准率-查全率曲线,简称“P-R曲线”,显示该曲线的图称为“P-R图”。

- 一般来说,如果一个学习器的P-R曲线完全被另一个曲线完全“包住”,则称后者的性能优于前者,例如图中的A的性能大于C。
- 如果2个曲线发生了交叉,我们则很难辨别。
但是为了辨别这2个曲线,我们引入新的度量来考察查准率和查全率。
“平衡点”(Break-Even Point,简称BEP)就是这样一个度量,它是“查准率=查全率”时的取值。例如A的BEP为0.8,就大于B的BEP,基于BEP,我们认为A大于B。
但是BEP过于简化,我们通常用F1度量:
F1度量是基于查准率和查全率的调和平均得来的。
1 F 1 = 1 2 ( 1 P + 1 R ) \frac{1}{F_1}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R}) F11=21(P1+R1)
F
1
=
2
×
P
×
R
P
+
R
=
2
×
T
P
样
例
总
数
+
T
P
−
T
N
F_1=\frac{2×P×R}{P+R}=\frac{2×TP}{样例总数+TP-TN}
F1=P+R2×P×R=样例总数+TP−TN2×TP
F1度量的一般形式——
F
β
F_\beta
Fβ。
F β F_\beta Fβ是加权调和平均。
1 F β = 1 1 + β 2 ( 1 P + β 2 R ) \frac{1}{F_\beta}=\frac{1}{1+\beta^2}(\frac{1}{P}+\frac{\beta^2}{R}) Fβ1=1+β21(P1+Rβ2)
F β = ( 1 + β 2 ) × P × R ( β 2 × P ) + R F_\beta=\frac{(1+\beta^2)×P×R}{(\beta^2×P)+R} Fβ=(β2×P)+R(1+β2)×P×R
- β = 1 \beta = 1 β=1,为 F 1 F_1 F1
- β < 1 \beta < 1 β<1,对查准率有更大影响。
- β > 1 \beta > 1 β>1,对查全率有更大影响。
总结
以上内容主要来源于周志华老师的机器学习(西瓜书),如有错误,敬请批评指正。