ks:能定阈值的评价指标

机器学习中,常用到的AUC能很好地描述模型整体性能的高低。除了AUC,还有一个指标也能达到相同的效果,那便是ks。不仅如此,ks还能给出最佳的划分阈值。那么,ks具体是什么指标?计算方式和AUC有何不同?

 

KS评价指标

KS(Kolmogorov-Smirnov)评价指标,通过衡量好坏样本累计分布之间的差值,来评估模型的风险区分能力,KS指标在互金行业可能用到的更多一些,用于评估模型对好坏用户的区分能力。其计算方式和AUC的计算方式基本类似,我们不妨先来回顾一下评价指标必备的四个概念,如下:

  • 伪阳性率(FPR) 
    判定为正例却不是真正例的比率
  • 真阳性率(TPR) 
    判定为正例也是真正例的比率
  • 伪阴性率(FNR) 
    判定为负例却不是真负例的比率
  • 真阴性率(TNR) 
    判定为负例也是真负例的比率 

UC的计算方式在文章(如何直观理解AUC评价指标?)中描述的比较清楚,建议大家先看一遍,再继续阅读此文,会更加流畅。相比之前对AUC的讲解,上面四个概念的介绍我更新成用“比率”描述,会更加准确一点。

但是AUC只评价了模型的整体训练效果,并没有指出如何划分类别让预估的效果达到最好。
 

ks和AUC一样,都是综合了真阳性率(TPR)和伪阳性率(FPR)两个指标来衡量模型的好坏。不同之处在于,ks取的是TPR和FPR差值的最大值

怎么理解这个最大差值?我们先仔细思考一下TPR和FPR的含义。拿二分类来说,通常接sigmoid函数输出到0-1之间取阈值划分,假定0为正例标签,1为负例标签,当阈值从0到1变化时,TPR表示所有小于阈值的正例,在所有正例中的比率。同样的,FPR则表示所有小于阈值的负例,在所有负例中的比率。

令横轴为阈值,纵轴为TPR和TPR,值域均为[0, 1]。可以这样直观理解,随着横座标从0到1变化,TPR越快提升,模型效果越好;反之,FPR越快提升,模型效果就越差。 ks值,正是图中的最大差值,此时的横轴取值,便是最佳阈值。

 

同样的,我们可以拿AUC讲解中的例子来直观说明ks:现假设有一个训练好的二分类器对10个正负样本(正例5个,负例5个)进行预测,得分从高到低排序得到的最好预测结果为[1, 1, 1, 1, 1, 0, 0, 0, 0, 0],即5个正例均排在5个负例前面,正例排在负例前面的概率为100%。

绘制其ks折线。首先,我们按照之前的描述方式,绘制TPR、FPR随着阈值(样本比例)变化的折线图,如下图所示:

从上图我们可以知道,TPR提升最快而FPR提升最慢,的确说明了预测结果最好。然后,计算它们的差值,作ks折线图如下: 

 

上图的ks值为1,最佳划分阈值是0.5,这是最理想的结果了。ks值域为[0, 1],一般情况下,ks值大于0.2就能判定模型是有效的。

为了加深理解,我们稍微改变一下预测结果序列为[1, 1, 1, 1, 0, 1, 0, 0, 0, 0],看看ks值有何不同的变化。 

 

可知上图的ks值为0.8,最佳划分阈值为0.4或者0.6。

至此,我们便可以直观地理解ks评价指标。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章