分享

分类模型评估

 CDA数据分析师 2023-05-25 发布于北京


  CDA数据分析师 

    基于对分类模型的学习与认识,本文主要来总结针对分类模型的评估方法和常用指标。
    故事是这样的,首先,混淆矩阵是个元老,年龄最大也资历最老。创建了两个帮派,一个夫妻帮,一个阶级帮。之后,夫妻帮里面是夫妻两个,一个Lift曲线,一个Gain曲线,两个人不分高低,共用一个横轴。再次,阶级帮里面就比较混乱,帮主是ROC曲线,副帮主是KS曲线,AUC面积,AUC养了一个小弟,叫GINI系数。


混淆矩阵



    混淆矩阵记录了观测对象的真实标签与模型预测标签之间的关系,包括实际为1预测为1(TP)、实际为1预测为0(FN)、实际为0预测为0(TN)、实际为0预测为1(FP)的数量分别是多少,基于以上的统计结果,可以计算出精确率、召回率、f1值以及准确率等评估指标,有了这些评估指标,才有了分类模型评估的各种方法。



Lift曲线



Lift曲线又称为提升指数曲线,代表了使用模型相对于不使用模型时的提升指数,衡量的是一个模型(或规则)对目标中“响应”的预测能力优于随机选择的倍数,以1为界线,大于1的Lift表示该模型或规则比随机选择捕捉了更多的“响应”。比如,在营销推广活动中,我们的首要目标并不是尽可能多地找出那些潜在客户,而是提高客户的响应率,客户响应率是影响投入产出比的重要因素,此时,我们关注的不再是TPR(覆盖率),而是另一个指标:命中率。举个例子,一个贷款产品目标客群有10000个人,其中混合了500个坏客户。如果随机选择1000个人放款,可能会遇到50个坏客户。但是如果运用模型对坏客户加以预测,只选择模型分数最高的1000人放款,如果这1000个客户表现出来最终逾期的只有20户,说明模型在其中是起到作用的,此时的LIFT就是大于1的。如果表现出来逾期客户超过或等于50个,LIFT小于等于1,那么从效果上来看这个模型用了还不如不用。LIFT就是这样一个指标,可以衡量使用这个模型比随机选择对坏样本的预测能力提升了多少倍。
通常计算LIFT的时候会把模型的最终得分按照从低到高(违约概率从高到低)排序并等频分为10组,计算分数最低的一组对应的累计坏样本占比/累计总样本占比就等于LIFT值了。从直观上理解,累计坏样本占比相当于是使用模型的情况下最差的这一组能够从所有的坏样本中挑出多少比例的坏样本,而累计总样本占比等于随机抽样的情况下从所有坏样本抽取了多少比例的坏样本(即完全随机的情况下,抽取10%的样本也会对应抽到10%的坏样本)。分母的值通常在10%上下,这是因为可能存在一些样本得分值相同,因此虽然是等频分组但是每一组的样本量并不一定严格等于总数的10%。

即Lift=Cum_bad%/Cum_total%

    该模型的LIFT达到了4.1左右,是一个效果不错的模型。
    在画LIFT曲线的时候,可以比计算10%的LIFT值的时候更加的精细,可以考虑等距切分,以更好地看出LIFT曲线下降的陡峭程度。一个好的模型,需要偏离随机选择足够远,因此在LIFT趋向于1之前,希望能够始终保持着一个足够高的LIFT,因此LIFT曲线是越陡峭越好。

根据上表的最后两列画出散点图,就是LIFT提升度曲线了:

Lift指标多用于营销场景。



Gain曲线



Gain图是描述整体精准度的指标。计算公式:

即Gain=Cum_bad%,即Gain是Lift的分子部分,曲线如下:



ROC曲线



    ROC曲线是通过设置不同的阈值,来展示分类模型在不同阈值下的表现。在ROC曲线中,横轴为假阳性率
,纵轴为真阳性率
,如果是随机分类,没有进行任何学习器,则FPR=TPR,即正例分对和负例分错概率相同,预测出来的正例负例和正例负例本身的分布是一致的,所以是一条45°的直线。因此,ROC曲线越向上远离这条45°直线,说明用了这个学习器在很小的代价(负例分错为正例,横轴)下达到了相对较大的查全率(TPR)。

    判断标准是当模型A对应的ROC曲线完全包住模型B对应的ROC曲线时,认为模型A的性能优于模型B;当两个模型对应的ROC曲线存在交叉时,可以通过二者的曲线下面积来判断,ROC曲线的曲线下面积即为AUC,AUC值越大,对应的模型性能越优。

    在理解GINI系数之前,先来了解洛伦兹曲线,以及洛伦兹曲线与ROC曲线的关系。

(即TPR)作为纵坐标、

作为横坐标而绘制出来的曲线,即为洛伦兹曲线,绘制出来的图形可能有如下图A和图B两种情况:

当少数类样本的数量很少时,即TP与FN均很小时,洛伦兹曲线的横坐标
,即此时的洛伦兹曲线的横坐标可以约等于FPR,故此时的洛伦兹曲线与ROC曲线基本一致。
GINI系数的定义为:绝对公平线(y=x)与洛伦兹曲线围成的面积与绝对公平线以下面积的比例。

-如洛伦兹曲线为上图A所示,则对应的GINI系数为

-如洛伦兹曲线为上图B所示,则对应的GINI系数为

当洛伦兹曲线与ROC曲线基本一致时(即如图B),进一步推导GINI系数有



KS曲线



KS指标是通过衡量好坏样本的累计分布的差值来评估模型的风险区分能力,KS值的定义为:

,以阈值为横坐标,FPR和TPR为纵坐标绘制图形如下:

TPR和FPR曲线分的越开的位置就是KS值,具体标准如下:



PR曲线



    ROC曲线不能很好地体现出样本类别分布不平衡对模型产生的影响,甚至导致对模型性能有错误的解释,这种情况下PR曲线可以给我们提供更精确的参考,PR曲线的横轴代表查全率,纵轴代表查准率,如下图:

    当PR曲线越靠近右上方时,表明模型性能越好,与ROC曲线类似,在对不同模型进行比较时,若一个模型的PR曲线被另一个模型的PR曲线完全包住则说明后者的性能优于前者,如上图中橘色线代表的模型要优于蓝色线代表的模型,若模型的PR曲线发生了交叉,则无法直接判断哪个模型更好,在周志华老师的机器学习上中提到了可以用平衡点,它是查准率=查全率时的取值,如上图黑色线代表的模型的平衡点要大于橘色线模型代表的平衡点,表明前者优于后者,除此之外更为常用的是F1 score,也就是查准率和查全率的加权平均,

    也就是说,如果数据集类别分布大致均衡时,我们可以用ROC曲线,当数据集类别分布非常不均衡时,优先采用PR曲线。


参考链接



https://blog.csdn.net/some_apples/article/details/104166842
https://zhuanlan.zhihu.com/p/94323568

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多