混淆矩阵(confusion matrix)
如下表所示,所有的评测指标都可以根据混淆矩阵进行运算得到。
真实情况 | 预测结果为正 | 预测结果为反 |
---|---|---|
正例 | True Positive (TP) | False Negative (FN) |
反例 | False Positive (FP) | True Negative (TN) |
TP表示:真正例,分类为正样本且本身也为正样本,分类正确。
FN表示:假反例,分类为负样本但本身为正样本,分类错误。
FP表示:假正例,分类为正样本但本身为负样本,分类错误。
TN表示:真反例,分类为负样本且本身也为负样本,分类正确。
准确率(Accuracy)
准确率(可以简写为,acc)是最常见的评价指标,即分类器预测正确的样本占总共样本数的百分比,如下式所示:
在大多数的情况下,acc可以用于作为评价分类器性能好坏的指标。但是对于不平衡数据集而言,acc就无法很好的刻画分类器的性能。不平衡数据集是指,数据集中样本严重不均衡,例如,100个数据集中,其中95个为正类,5个为负类。对于这样的情况,分类器如果将所有的数据都分为正类,其acc都可以达到95%。但很明显可以看出这样的分类结果并不是好的,因此对于样本不均衡的数据集,无法使用acc作为数据分类的评价指标。
精准率(Precision)
精准率又叫查准率,其针对的是预测结果,即真正例(TP)占被分类器分为正类的样本的百分比,如下式所示:
Precision 看起来和 acc 是差不多的,但是 acc 针对的是所有的样本,即包含了正样本和负样本;而Precision只是针对的正样本,刻画的是正样本的分类结果,而不涉及负样本的信息。Precision越高表示分类器对于正类分类效果越好,即分类器越容易选出的正确的正样本。
召回率(Recall)
召回率又叫查全率,其针对的是实际样本,即真正例(TP)占真实标签为正的样本的百分比,如下式所示:
Recall是从真实样本出发,其值越高表示对于真实数据集而言,分类器越容易将所有的正样本都挑选出来。
可以发现Precision和Recall只有分母不一样,这两个评价指标都是基于TP来定义的,但两者之间通常是相互矛盾的。往往在Recall越高的时候,其Precision都会越来越低。因为若是想要挑选出所有的正样本(即Recall逼近1),最简单的方法是将所有的样本都分为正类,这样Recall值可以达到1,很明显,此时的Precision值会非常低。同样的,若果想让Precision逼近1,则只选择最有把握的样本作为正类就可以了,但是此时Recall值会非常低。
P-R(Precision-Recall)曲线
Precision-Recall 曲线(P-R曲线)是查全率和查准率的曲线。首先我们将分类器的预测结果按照概率进行排序,排在前面的认为是最可能为正类的样本,排在后面的认为是最不可能为正类的样本。然后按照顺序逐个对正样本进行预测并计算出Precision和Recall的值。再以Precision为纵轴,Recall为横轴作图,就可以得到P-R曲线。
由于P-R曲线可以很好的表示出分类器在总体样本的查全率和查准率。因此,若是有一个分类器的P-R曲线完全包裹住另外一个分类器的曲线,则可以说明该分类器的性能优于后者。若是两个分类器的曲线有交点,则无法很明确的说明哪个分类器的性能更好。因此提出使用平衡点(Break-Even Point,BEP)来度量两个分类器的性能,即当查准率等于查全率时P-R曲线的取值。但是只是使用BEP度量其实过于片面。
F1 分数(F1 Score)
F1分数是同时考虑了查全率和查准率,并使两个去一个平衡,让两者同时达到最高的指标,如下式所示:
F1分数相比BEP而言,可以更好的度量 Precision 和 Recall 之间的关系,对分类器的性能做出更好的判断,常常被用于度量分类器的性能。
F1分数的一般形式
度量了查全率和查准率的相对重要性。当 时为标准的 分数;当 时查全率有更大的影响,例如罪犯检索系统;当 时查准率有更大的影响,例如内容推荐。
ROC(Receiver Operating Characteristic)曲线以及 ROC-AUC(Area Under Curve)
在介绍ROC曲线之前,我们首先引入如下两个指标,灵敏度(真正率,True Positive Rate,TPR)和1-特异度(假正率, False Positive Rate,FPR),其公式如下所示
,
可以明显的看出TPR和Recall是同一个式子,只是名字不一样了。而FPR表示的是被分类器分为正类的负样本占实际是负样本的百分比。很明显可以看出,这两个度量指标都是针对实际样本,分别从正负类出发,可以很好的避免样本极度不均衡的问题。由此,将TPR作为纵轴,FPR作为横轴可以画出ROC曲线以及计算ROC-AUC。
如同P-R曲线一样,ROC曲线也是根据逐个遍历阈值来绘制曲线的。由于FPR表示的是错报的负样本,因此希望的是FPR越低越好,而TPR越高越好。因此当ROC曲线越陡时,即斜率越大时,分类器的性能越好。为了方便计算,提出了使用ROC-AUC来度量,即计算ROC曲线下的面积。上图中的虚线表示的时候随即猜测的ROC曲线,因此理想情况下AUC的值越接近于1越好。