1.混淆矩阵(一级指标)
以分类模型中最简单的二分类为例,对于这种问题,我们的模型最终需要判断样本的结果是0还是1,或者说是positive还是negative。我们通过样本的采集,能够直接知道真实情况下,哪些数据结果是positive,哪些结果是negative。同时,我们通过用样本数据跑出分类型模型的结果,也可以知道模型认为这些数据哪些是positive,哪些是negative。因此,我们就能得到这样四个基础指标,我称他们是一级指标(最底层的):
真实值是positive,模型认为是positive的数量(True Positive=TP)
真实值是positive,模型认为是negative的数量(False Negative=FN):这就是统计学上的第一类错误(Type I Error)
真实值是negative,模型认为是positive的数量(False Positive=FP):这就是统计学上的第二类错误(Type II Error)
真实值是negative,模型认为是negative的数量(True Negative=TN)
注:T肯定是对的,F是错的。
预测性分类模型,肯定是希望越准越好。那么,对应到混淆矩阵中,那肯定是希望TP与TN的数量大,而FP与FN的数量小。所以当我们得到了模型的混淆矩阵后,就需要去看有多少观测值在第二、四象限对应的位置,这里的数值越多越好;反之,在第一、三象限对应位置出现的观测值肯定是越少越好。
2.二级指标
但是,混淆矩阵里面统计的是个数,有时候面对大量的数据,光凭算个数,很难衡量模型的优劣。因此混淆矩阵在基本的统计结果上又延伸了如下4个指标,我称他们是二级指标(通过最底层指标加减乘除得到的):
准确率(Accuracy)—— 针对整个模型
精确率(Precision)
灵敏度(Sensitivity):就是召回率(Recall)
特异度(Specificity)
可以将混淆矩阵中数量的结果转化为0-1之间的比率。便于进行标准化的衡量。
3.三级指标
在这四个指标的基础上在进行拓展,会产令另外一个三级指标这个指标叫做F1 Score。他的计算公式是:
其中,P代表Precision,R代表Recall。
F1-Score指标综合了Precision与Recall的产出的结果。F1-Score的取值范围从0到1的,1代表模型的输出最好,0代表模型的输出结果最差。
4.ROC曲线
ROC曲线:Receiver Operating Characteristic曲线,横轴是FPR(False Positive Rate),纵轴是TPR(True Positive Rate)。
AUC(Area Under ROC Curve):ROC曲线下的面积。
5.K-S曲线
洛伦兹曲线(Kolmogorov-Smirnov curve)值越大,表示模型能够将正、负客户区分开的程度越大。KS值的取值范围是[0,1] 。
KS曲线是两条线,其横轴是阈值,纵轴是TPR(上面那条)与FPR(下面那条)的值,值范围[0,1] 。两条曲线之间之间相距最远(差)的地

本文介绍了ROC曲线和K-S曲线在风控中的应用,对比了两者在评估模型性能上的区别。通过Python代码展示了如何计算混淆矩阵、ROC曲线、K-S曲线以及相关指标,如Accuracy、Precision、Recall和F1-Score。ROC曲线中的AUC和K-S曲线的KS值用于衡量模型区分正负样本的能力,较高的AUC和KS值表明模型效果更好。
最低0.47元/天 解锁文章
685

被折叠的 条评论
为什么被折叠?



