准确率
- 一般最常见使用的是准确率,即预测结果正确的百分比 :estimator.score()
精确率(Precision)与召回率(Recall)
混淆矩阵
- 在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵
精确率
- 精确率(查准率):预测结果为正例样本中真实为正例的比例
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
两者之间的关系
- 查准率和查全率是一对矛盾的变量。一般来说,查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低。
P-R曲线
- P-R图直观地显示出学习器在样本总体上的查全率、查准率
- 若一个学习器的P-R曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者
- 如果两个学习器的P-R曲线发生了交叉,
- 可以比较P-R曲线下面积的大小,它在一定程度上表征了学习器在查准率和查全率上取得相对“双高”的比例。
- 但这个值不太容易估算,可以使用“平衡点”(BEP)来度量,它是“查准率=差全率”时的取值,高者更优。
F1度量
- BEP还是过于简化,更常用的是F1度量:
F
1
=
2
×
P
×
R
P
+
R
F1=\frac{2\times P\times R}{P+R}
F1=P+R2×P×R
注:F1度量是基于查准率和查全率的调和平均:
1
F
=
1
2
(
1
P
+
1
R
)
\frac{1}{F}=\frac{1}{2}(\frac{1}{P}+\frac{1}{R})
F1=21(P1+R1)
- 在一些应用中,对查准率和查全率的重视程度有所不同。例如在商品推荐系统中,为了尽可能少打扰用户,更希望推荐内容确是用户感兴趣的,此时查准率更重要;而在逃犯信息检索系统中,更希望尽可能少漏掉逃犯,此时查全率更重要。F1度量的一般形式—— F β F_{\beta} Fβ,能让我们表达出对查准率/查全率的不同偏好,它定义为
F
1
=
(
1
+
β
)
2
×
P
×
R
(
β
2
×
P
)
+
R
F1=\frac{(1+\beta)^2\times P\times R}{(\beta ^2 \times P)+R}
F1=(β2×P)+R(1+β)2×P×R
β
>
1
\beta>1
β>1时查全率有更大影响,
β
<
1
\beta<1
β<1时查准率有更大影响
ROC和AUC
- ROC曲线的纵轴是“真正例率”(TPR), TPR(True Positive Rate)可以理解为所有正类中,有多少被预测成正类), 横轴是"假正例率"(FRP), FPR(False Positive Rate)可以理解为所有反类中,有多少被预测成正类(正类预测错误) 。两者分别定义为
T
P
R
=
T
P
T
P
+
F
N
F
P
R
=
F
P
F
P
+
T
N
TPR=\frac{TP}{TP+FN}\qquad FPR=\frac{FP}{FP+TN}
TPR=TP+FNTPFPR=FP+TNFP
- 若一个学习器的ROC曲线被另一个学习器的曲线完全“包住”,则可断言后者的性能优于前者
- 如果两个学习器的P-R曲线发生了交叉,比较ROC曲线下的面积,即AUC。