通過三個直觀步驟理解ROC曲線

ROC曲線是一個分類模型效果好壞評判的的可視化表示。

在這篇文章中,我將分三個步驟頭開始構建ROC曲線。

步驟1:獲取分類模型預測

當我們訓練一個分類模型時,我們得到得到一個結果的概率。在這種情況下,我們的例子將是償還貸款的可能性。

概率通常在0到1之間。價值越高,這個人就越有可能償還貸款。

下一步是找到一個臨界值,將概率分類爲“會償還”或“不會償還”。

在圖1的例子中,我們選擇了0.35的閾值:

所有達到或超過這個門檻的預測,都被歸類爲“會償還”
所有低於這個閾值的預測,被歸類爲“不會償還”

然後我們看看這些預測是正確的還是錯誤的。有了這些信息,我們可以建立一個混淆矩陣。

所有真正積極的方面,那些真正回報的人,都是藍點。

如果他們被歸類爲“會償還”,我們有一個真正的積極(TP)
如果他們被歸類爲“不會償還”,我們就有了一個假陰性(FN)

所有的負的,那些沒有償還的,是紅點。

如果他們被歸類爲“不會償還”,我們就有了一個真正的負資產(TN)
如果他們被分類爲“將償還”,我們有一個假陽性(FP)

步驟2:計算真陽性率和假陽性率

到目前爲止,我們已經對所有的預測進行了分類,我們知道這些分類是否正確。有了這些,我們將計算下面兩個指標:

真陽性率(TPR):從過去所有“償還”的人,我們正確分類的百分比是多少
假陽性率(FPR):從所有過去“沒有償還”的人,我們有多少百分比的錯誤分類

我們可以在圖3中看到這些計算的公式。


下面,在圖4的第二個圖中,我們可以看到我們的原始示例在0.35的閾值處。此時,我們

正確分類90%的陽性,那些“回報”(TPR)
40%的負面評價,那些“沒有償還”的人(FPR)

我們可以看到,TPR和FPR的結果隨着閾值的增大而降低。如果我們看第一個,閾值爲0

所有陽性均正確分類,因此TPR = 100%
所有的陰性均被誤分類,因此FPR = 100%

在最後一個圖的例子中,閾值爲1:

所有陽性均誤診,因此TPR = 0%
所有陰性均正確分類,因此FPR = 0%


總的來說,我們可以看到這是一種取捨。當我們提高閾值時,我們會更好地對消極因素進行分類,但這是以錯誤地對更多積極因素進行分類爲代價的

步驟3:繪製每個截止點的TPR和FPR

爲了繪製ROC曲線,我們需要計算多個不同閾值的TPR和FPR(這一步包含在所有相關庫中,如scikit-learn)。

對於每個閾值,我們在x軸上繪製FPR值,在y軸上繪製TPR值。然後我們用一條線把這些點連接起來。就是這樣!

下面的圖5中,我們可以看到ROC曲線上的每個點是如何代表某一分類在給定截斷點處的FPR和TRP。

注意,1處的閾值是如何引出第一個點(0,0)而0處的閾值是如何引出最後一個點(1,1)的。

曲線下覆蓋的面積稱爲曲線下面積(AUC)。這是用來評價一個分類模型的性能。AUC越高,模型在區分類方面就越好。

這意味着在一個理想的世界中,我們希望我們的線覆蓋大部分左上方的圖形,以獲得更高的AUC。

作者:Valeria Cortez

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