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評價指標。

 

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