ks:能定閾值的評價指標

● 每週一言

既有工作又有生活,人生纔沒那麼無趣。

導語

之前講解過AUC評價指標,AUC能很好地描述模型整體性能的高低。除了AUC,還有一個指標也能達到相同的效果,那便是ks。不僅如此,ks還能給出最佳的劃分閾值。那麼,ks具體是什麼指標?計算方式和AUC有何不同?

ks評價指標

ks(Kolmogorov-Smirnov)評價指標,通過衡量好壞樣本累計分佈之間的差值,來評估模型的風險區分能力。其計算方式和AUC的計算方式基本類似,我們不妨先來回顧一下評價指標必備的四個概念,如下:

  • 僞陽性率(FPR)
    判定爲正例卻不是真正例的比率
  • 真陽性率(TPR)
    判定爲正例也是真正例的比率
  • 僞陰性率(FNR)
    判定爲負例卻不是真負例的比率
  • 真陰性率(TNR)
    判定爲負例也是真負例的比率
    f1

AUC的計算方式在文章(如何直觀理解AUC評價指標?)中描述的比較清楚,建議大家先看一遍,再繼續閱讀此文,會更加流暢。相比之前對AUC的講解,上面四個概念的介紹我更新成用“比率”描述,會更加準確一點。

但是AUC只評價了模型的整體訓練效果,並沒有指出如何劃分類別讓預估的效果達到最好。

f2

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值,正是圖中的最大差值,此時的橫軸取值,便是最佳閾值。

f3

同樣的,我們可以拿AUC講解中的例子來直觀說明ks:現假設有一個訓練好的二分類器對10個正負樣本(正例5個,負例5個)進行預測,得分從高到低排序得到的最好預測結果爲[1, 1, 1, 1, 1, 0, 0, 0, 0, 0],即5個正例均排在5個負例前面,正例排在負例前面的概率爲100%。

繪製其ks折線。首先,我們按照之前的描述方式,繪製TPR、FPR隨着閾值(樣本比例)變化的折線圖,如下圖所示:

fig1

從上圖我們可以知道,TPR提升最快而FPR提升最慢,的確說明了預測結果最好。然後,計算它們的差值,作ks折線圖如下:

fig2

上圖的ks值爲1,最佳劃分閾值是0.5,這是最理想的結果了。ks值域爲[0, 1],一般情況下,ks值大於0.2就能判定模型是有效的。

爲了加深理解,我們稍微改變一下預測結果序列爲[1, 1, 1, 1, 0, 1, 0, 0, 0, 0],看看ks值有何不同的變化。

fig3

fig4

可知上圖的ks值爲0.8,最佳劃分閾值爲0.4或者0.6。

至此,我們便可以直觀地理解ks評價指標。敬請期待下節內容。

結語

感謝各位的耐心閱讀,後續文章於每週日奉上,敬請期待。歡迎大家關注小鬥公衆號 對半獨白

face

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