不平衡学习算法的评估指标
先来看下类不平衡的定义:对于二元分类问题,存在类别分布不平衡的问题,即某一类别的样本数量远远多于另一类(分别称为多数类和少数类)。具有这样特征的二元分类数据集被称为不平衡的(Imbalanced Data),有时候也称(skewed data)。 分类错误率作为传统分类学习的评估指标,显然无法适应于不平衡分类问题。至于为什么,这里给大家举个例子解释一下:看上面这个例子,使用的逻辑回归模型的测试集上的分类正确率能够达到99%,我们会认为在这是一个相当不错的性能,但是如果考虑到测试集上只有0.5%的人真的有癌症,那么如果我直接让所有的预测结果都为y=0,即整个测试集都预测为没有癌症,那么分类的正确率会高达99.5%,但是显然这个模型泛化能力巨差。
一、评估指标一:precision、recall、F-Measure
那么就需要新的评估指标来评估这个模型的性能,下面介绍precision(精度,又叫查准率)和recall(召回率,又叫查全率)。 对于一个二元分类问题,称少数类为P(positive),即正类,多数类为N(negative),即负类。那么根据实际类别和预测类别存在一个混淆矩阵(confusion matrix),如下:
根据上述混淆矩阵,可得精度和召回率的定义:
其中,true positive(TP)称为真正,就是实际类别为正,预测类别也为正。false positive(FP)称为假正,其为实际类别为负,预测类别为正,因为是假正。true negative为真负,false negative为假负。
但是有了这两个指标,该如何利用这两个指标去评估模型的性能呢,因为这两个指标往往不能同时兼顾,有时一个分类器可能有很高的精度但召回率很低,又或有很高的召回率但是精度很差。看如下一个例子:
那么,这三个算法中该如何选择呢?因此,为了折中precision和recall,引进了一个新的评估指标F-Measure,其定义如下:
通常取值为1,因此就有了常用的,其定义如下:
因此,能够看出F-Measure是对precision和recall的折中。一般来说,F-Measure的值越高,认为分类器性能越好。
二、评估指标二:接受者操作特征曲线(ROC) 还有一种更为常用的评估指标:接受者操作特征曲线(ROC),其图像如图所示(此图版权所有,不得随意盗用):
如上图所示的ROC示意图,其以假正率(False Positive Rate)为x轴,真正率(True Positive Rate)为y轴。如上图所示,其中点D(0,1)代表最理想的分类器性能,分布在对角线上的点,如点F代表随机猜测的分类器,而在对角线下方的点表示其分类器性能比随机猜测还要差。当分类器输出一系列连续值时能够画出ROC曲线如L1、L2,曲线下方的面积即AUC(areas under the curve)可以用于评估一个分类器的性能,AUC的值越大代表分类其性能越好。
- 提供一篇关于不平衡的综述:Haibo He,Member.Learning from Imbalanced Data[J].IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING(TKDE),2009,21(9):1263-1284