分类任务
错误率与准确率
错误率是分类错误的样本占样本总数的比例。准确率等于1减去错误率。
查全率,查准率
首先说一下混淆矩阵
|
| |
---|---|---|
|
| |
| TP(真正例) | FN(假反例) |
| FP(假正例) | TN(真反例) |
TP:系统预测为真,实际情况也是真,系统预测正确
FN:系统预测为假,实际上为真的样本,系统预测错误
FP:系统预测为真,然而实际为假的样本,系统预测错误
TN:系统预测为假,实际也为假,系统预测正确
怎么理解四个指标的意思呢:以FN为例,F代表假,N代表反例,假反例(假的反例 -> 预测是反例但却是假的 -> 实际是正例)
由此可以给出基于这四个指标的准确率(accuracy)计算公式
a
c
c
=
T
P
+
T
N
T
P
+
T
N
+
F
N
+
F
P
acc = \frac {TP+TN} {TP+TN+FN+FP}
acc=TP+TN+FN+FPTP+TN
如果测试集中正反样本的比例不均衡,准确率就很难客观衡量分类器的好坏。可以使用查准率(精度, Precision)和查全率(召回率, recall),计算公式分别是:
P
r
e
c
i
s
i
o
n
=
T
P
T
P
+
F
P
Precision = \frac{TP}{TP+FP}
Precision=TP+FPTP
R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP
理解这两个指标的意思后,很容易发现这两个指标是矛盾的,即查准率高了,查全率往往偏低;查全率高了,查准率往往偏低。
P-R曲线,F1
根据学习的预测结果对样本进行排序,排在最前的是学习器认为“最可能”是正例的样本,最后的是“最可能”是反例的样本。从前往后逐个把样本作为正例进行预测,每次可以计算出当前的查全率和查准率。以查准率为纵轴,查全率为横轴作图,就得到P-R曲线。
从P-R曲线图中可以认为一条曲线将另一条曲线完全包住时,可断言前者的性能优于后者。
平衡点(BEP) 是查全率等于查准率时的取值。
F1
是基于查准率和查全率的调和平均。
1
F
1
=
1
2
∗
(
1
P
+
1
R
)
\frac{1}{F1} = \frac{1}{2}*(\frac{1}{P} + \frac{1}{R})
F11=21∗(P1+R1)
F 1 = 2 ∗ P ∗ R P + R F1 = \frac{2*P*R}{P+R} F1=P+R2∗P∗R
F1实际是查准率和查全率相同权重情况下的F-score
F
=
(
1
+
β
2
)
∗
P
∗
R
(
β
2
∗
P
)
+
R
F = \frac{(1+\beta ^2)*P*R}{(\beta^2*P)+R}
F=(β2∗P)+R(1+β2)∗P∗R
ROC与AUC
很多学习器为测试样本产生一个实值或概率预测,然后将这个预测值与一个分类阈值进行比较,若大于阈值则分为正类,否则为反类。将这些值排序,以某个“截断点”将样本分成两个部分,前一部分作为正例,后一部分作为反例。
ROC曲线类似P-R曲线,但是以“真正例率(TPR)”作为纵轴,“假正例率(FPR)”作为横轴,定义是
T
P
R
=
T
P
T
P
+
F
N
TPR = \frac{TP}{TP+FN}
TPR=TP+FNTP
F P R = F P T N + F P FPR = \frac{FP}{TN+FP} FPR=TN+FPFP
AUC是ROC曲线下的面积。AUC与排序损失的和为1,所以AUC越大,损失也就越小。一般认为AUC越大,分类效果越好。
对于不平衡的分类问题来说, AUC 是一个比精度好得多的指标。 AUC 可以被解释为评估正例样本的排名(ranking)。它等价于从正类样本中随机挑选一个点,由分类器给出的分数比从反类样本中随机挑选一个点的分数更高的概率。因此, AUC 最高为1,这说明所有正类点的分数高于所有反类点。对于不平衡类别的分类问题,使用 AUC 进行模型选择通常比使用精度更有意义。