本篇博文簡要討論機器學習二分類問題中的混淆矩陣、ROC以及AUC評估指標;作為評價模型的重要參考,三者在模型選擇以及評估中起着指導性作用。
按照循序漸進的原則,依次討論混淆矩陣、ROC和AUC:
設定一個機器學習問題情境:給定一些腫瘤患者樣本,構建一個分類模型來預測腫瘤是良性還是惡性,顯然這是一個二分類問題。
當分類模型選定以后,將其在測試數據集上進行評估,分別可以得到以下評估指標:
混淆矩陣
TP表示預測為良性,真實情況是良性的樣例數;
FN表示預測為惡性,真實情況是良性的樣例數;
FP表示預測為良性,真實情況是惡性的樣例數;
TN表示預測為惡性,真實情況是惡性的樣例數;
以上四類數據構成混淆矩陣。
ROC曲線
在混淆矩陣的基礎上,進一步地定義兩個參數。
按照下式定義FPR參數
FPR表示,在所有的惡性腫瘤中,被預測成良性的比例。稱為偽陽性率。偽陽性率告訴我們,隨機拿一個惡性的腫瘤樣本,有多大概率會將其預測成良性腫瘤。顯然FPR越小越好。
按照下式定義TPR參數
TPR表示,在所有良性腫瘤中,被預測為良性的比例。稱為真陽性率。真陽性率告訴我們,隨機拿一個良性的腫瘤樣本時,有多大概率會將其預測為良性腫瘤。顯然TPR越大越好。
由上,一個混淆矩陣對應一對(FPR,TPR)
需要明確的是,FPR和TPR是建立在類別明確的預測結果之上的,即分類模型明確地指出待預測樣本的類別。
然而,在二分類問題(0,1)中,一般模型最后的輸出是一個概率值,表示結果是1的概率。此時需要確定一個閾值,若模型的輸出概率超過閾值,則歸類為1;若模型的輸出概率低於閾值,則歸類為0。
不同的閾值會導致分類的結果不同,也就是混淆矩陣有差,FPR和TPR也就不同。
當閾值從0開始慢慢移動到1的過程,就會形成很多對(FPR, TPR)的值,將它們畫在坐標系上,就是所謂的ROC曲線了。
AUC
得到ROC曲線后,就可以計算曲線下方的面積,計算出來的面積就是AUC值。
一般而言,AUC越大,模型的性能越好。