机器学习笔记1:ROC和GINI

ROC和GINI

 

一、imbalanced classification problem

一些简单的分类问题可以用accuracy来衡量分类模型的优劣,而对于观测样本差距较大的分类问题(imbalanced classification problem)则须采取其他方法衡量。

例如,贷款反欺诈问题,假设总共有1000个诚实样本,10个欺诈样本,如何评价以下两个模型的优劣:

模型1:10个欺诈样本中未识别7个,1000个诚实样本中有50个被误判为欺诈。

模型2:10个欺诈样本中未识别3个,1000个诚实样本中有100个被误判为欺诈。

模型1的出现57个差错,模型2出现103个差错,如果按照accuracy rate判断,模型1显然胜出。但是,少量欺诈却会给银行带来重大损失,换句话说,欺诈被误判为诚实的代价,要远远高于诚实被误判为欺诈的代价。在这种情况下,我们需要寻找其它衡量模型优劣的方法替代accuracy rate。ROC和AUC是一种常见的替代方法。

二、ROC

(一)分类结果的四种情况

我们将上述问题的实际欺诈样本称为positive,简写为P;实际诚实样本称为negative,简写为N。模型预测的欺诈的样本为classified positive,简写为CP;预测的诚实样本为classified negative,简写为CN。则分类结果有以下四种情况:

 

P

N

CP

TP

FP

CN

FN

TN

  1. TP(True Positive):表示实际欺诈样本被预测为欺诈样本
  2. TN(True Negative):表示实际诚实样本被预测为诚实样本
  3. FP(False Positive):表示实际欺诈样本被预测为诚实样本
  4. FN(False Negative):表示实际诚实样本被预测为欺诈样本

(二)TPR和FPR

TPR=TP/(TP+FN),表示所有欺诈样本被预测出的比例,TPR用来衡量模型敏感性。

FPR=FP/(FP+TN),表示所有诚实样本被误判为欺诈样本的比例,FPR用来衡量模型特异性。

截断点:每个分类模型都有一个临界点a,模型对某样本的计算结果大于a,则归为CP,小于a则归为CN。

ROC就是以TPR为Y轴,FPR为X轴的坐标平面所表示曲线,曲线上每个点表示分类模型在特定的截断点a下的(TPR,FPR)。

三、AUC

AUC是ROC曲线下的面积,通常在0.5-1之间,越大则说明分类模型的泛化能力越好。AUC>0.5的情况下,AUC越接近于1,说明预测效果越好。AUC在 0.5~0.7时有较低准确性,AUC在0.7~0.9时有一定准确性,AUC在0.9以上时有较高准确性。AUC=0.5时,说明诊断方法完全不起作用,无诊断价值。AUC<0.5不符合真实情况,在实际中极少出现。

下图蓝色ROC预测效果好于红色ROC。红色ROC的AUC=0.5。

机器学习笔记1:ROC和GINI

四、Gini Coefficient

Gini系数通常被用来判断收入分配公平程度,是指绝对公平线和洛伦茨曲线的围成的面积与绝对公平线以下面积的比例。即Gini Coefficient=A/(A+B)

机器学习笔记1:ROC和GINI

而在ROC图中,Gini Coefficient表示如下:

机器学习笔记1:ROC和GINI

不难发现,Gini系数与AUC是正相关,且可以相互转换的。

AUC=A+C=A+0.5

Gini=A/(A+B)=A/0.5

Gini=(AUC-0.5)*2