分類:ROC 曲線和 AUC

ROC 曲線

ROC 曲線 (接收器工作特性曲線) 圖表會顯示所有分類門檻的所有分類模型效能。此曲線繪製了兩個參數:

  • 真陽率
  • 偽陽率

真陽率 (TPR) 是喚回度的同義詞,定義如下:

$$TPR = \frac{TP} {TP + FN}$$

偽陽率 (FPR) 的定義如下:

$$FPR = \frac{FP} {FP + TN}$$

ROC 曲線會在不同的分類門檻中繪製 TPR 和 FPR 的比較。降低分類門檻後,系統會將更多項目分類為正數,同時增加偽陽性和真陽性。下圖顯示一般 ROC 曲線。

ROC 曲線顯示不同分類門檻的 TP 費率與 FP 費率。

圖 4. 各個分類門檻的 TP 和 FP 費率。

如要計算 ROC 曲線中的點,我們可以用不同的分類門檻多次評估邏輯迴歸模型,但這樣做效率不彰。幸好,有一種效率極高的排序型演算法可以為我們提供這些資訊,稱為 AUC。

AUC:ROC 曲線下的區域

AUC 代表 ROC 曲線下的「區域」。也就是說,AUC 會測量從 0,0 到 (1,1) 的整個 ROC 曲線下方的整個二維面積 (考慮為積分計算)。

AUC (ROC 曲線下的區域)。

圖 5. AUC (ROC 曲線下的區域)。

AUC 可針對所有可能的分類門檻進行效能匯總測量。解讀 AUC 的一種方式,是模型將隨機正向排名高於隨機排除範例的機率。例如,假設以下範例按照邏輯迴歸預測的順序從左到右排列:

正面和負面範例,按邏輯迴歸分數的遞增順序排序

圖 6. 預測結果會按照邏輯迴歸分數的遞增順序排序。

AUC 代表隨機正值 (綠色) 範例放置於隨機負值 (紅色) 範例右側的機率。

AUC 的值範圍介於 0 到 1 之間。預測值為 100% 的模型的 AUC 為 0.0;預測為 100% 的模型的 AUC 為 1.0。

AUC 非常適合以下兩種原因:

  • AUC 是 scale-invariant。用於衡量預測的排名,而非其絕對值。
  • AUC 為 classification-threshold-invariant。無論選擇何種分類閾值,該模型都會測量模型預測的品質。

但是,這兩個原因都提醒了這一點,這可能會導致 AUC 在特定用途中的實用性受限:

  • 體重計的不變性不一定是您想要的。例如,我們有時需要經過大量校正的輸出輸出,而 AUC 無法告訴我們這些資訊。

  • 分類閾值不見得是最佳選擇。如果偽陰性費用與偽陽性的費用差距很大,則最好盡量減少一種分類錯誤。舉例來說,在偵測垃圾電子郵件時,您可能會想要盡量減少偽陽性 (即使最終導致誤判情況大幅增加)。AUC 不是這類最佳化的實用指標。