分類:ROC 和 AUC

上一節介紹了一系列模型指標,全部都是以單一分類閾值計算。不過,如果您想評估模型在所有可能的閾值下的品質,就需要使用其他工具。

接收者操作特徵曲線 (ROC)

ROC 曲線是所有門檻的模型效能視覺化呈現。名稱的長版本「receiver operating characteristic」是從二次世界大戰的雷達偵測技術延續下來的。

繪製 ROC 曲線時,系統會計算每個可能的門檻 (實際上是選定間隔) 的真陽性率 (TPR) 和偽陽性率 (FPR),然後繪製 TPR 與 FPR 的圖表。完美模型在某個門檻的 TPR 為 1.0,FPR 為 0.0,如果忽略所有其他門檻,則可用 (0, 1) 的點表示,或用下列方式表示:

圖 1. 圖表顯示 TPR (y 軸) 與 FPR (x 軸) 的關係,呈現完美模型的效能:從 (0,1) 到 (1,1) 的線條。
圖 1. 假設完美模型的 ROC 和 AUC。

曲線下面積 (AUC)

ROC 曲線下面積 (AUC) 代表模型在隨機挑選的正向和負向樣本中,將正向樣本排名高於負向樣本的機率。

上方的完美模型包含邊長為 1 的正方形,曲線下方面積 (AUC) 為 1.0。也就是說,模型正確將隨機挑選的正向樣本排在隨機挑選的負向樣本之上的機率為 100%。換句話說,如果您查看下方資料點的散布情形,AUC 會提供模型將隨機選擇的方塊置於隨機選擇圓形右側的機率,不受設定門檻值的影響。

沒有滑桿的小工具資料列

更具體來說,AUC 為 1.0 的垃圾郵件分類器一律會將較高的垃圾郵件機率指派給隨機垃圾郵件電子郵件,而非隨機的正常電子郵件。每封電子郵件的實際分類取決於您選擇的門檻。

就二元分類器而言,如果模型的表現與隨機猜測或擲硬幣相同,則 ROC 為從 (0,0) 到 (1,1) 的對角線。AUC 為 0.5,代表正確排序隨機正向和負向樣本的機率為 50%。

在垃圾郵件分類器範例中,如果垃圾郵件分類器的 AUC 為 0.5,則隨機垃圾郵件的垃圾郵件機率,只有隨機合法郵件的一半。

圖 2. 圖表以 TPR (y 軸) 與 FPR (x 軸) 比較,顯示隨機 50/50 猜測器的效能:從 (0,0) 到 (1,1) 的對角線。
圖 2. 完全隨機猜測的 ROC 和 AUC。

(選用、進階) 精確度與喚回度曲線

如果資料集在類別之間大致平衡,AUC 和 ROC 就很適合用於比較模型。如果資料集不平衡,精確度和喚回率曲線 (PRC) 和曲線下方的面積,可能會提供更佳的模型效能比較圖表。精確度/喚回度曲線的建立方式,是在所有門檻上,將精確度繪製在 y 軸,將喚回率繪製在 x 軸。

精確度與喚回率曲線範例,其中從 (0,1) 到 (1,0) 的曲線向下凸出

選擇模型和閾值時的 AUC 和 ROC

只要資料集大致平衡,AUC 就是比較兩個不同模型成效的實用指標。曲線下方面積越大的模型通常品質越好。

圖 3.a. 模型的 ROC/AUC 圖表,AUC 為 0.65。 圖 3.b. 模型的 ROC/AUC 圖表,AUC 為 0.93。
圖 3. 兩個假設模型的 ROC 和 AUC。右側曲線的 AUC 較高,代表兩個模型中較佳的模型。

ROC 曲線上最接近 (0,1) 的點,代表特定模型最佳效能門檻的範圍。如門檻值混淆矩陣指標選擇和取捨等章節所述,您選擇的門檻值取決於特定用途最重視哪項指標。請參考下圖中的 A、B 和 C 點,每個點都代表一個門檻:

圖 4. ROC 曲線的 AUC 為 0.84,顯示曲線凸面部分最接近 (0,1) 的三個點,分別標示為 A、B 和 C。
圖 4. 三個標示點代表門檻。

如果偽陽性 (誤報) 的成本極高,建議您選擇門檻,以便降低 FPR (例如 A 點),即使 TPR 會因此降低也一樣。相反地,如果偽陽性成本低,而偽陰性 (漏失真陽性) 成本高,則點 C 的門檻 (可最大化 TPR) 可能較佳。如果費用大致相同,點 B 可能會在 TPR 和 FPR 之間取得最佳平衡。

以下是先前資料的 ROC 曲線:

練習:檢查您的理解程度

實際上,ROC 曲線比上述圖示更不規則。下列哪個模型 (以 ROC 曲線和 AUC 表示) 的成效最佳?
ROC 曲線會從 (0,0) 到 (1,1) 向上彎曲,然後向右彎曲。曲線的 AUC 為 0.77。
這個模型的 AUC 最高,對應到最佳成效。
ROC 曲線大致是從 (0,0) 到 (1,1) 的直線,並帶有少許鋸齒狀。曲線的 AUC 為 0.508。
ROC 曲線從 (0,0) 到 (1,1) 以鋸齒狀向上和向右移動。曲線的 AUC 為 0.623。
ROC 曲線會從 (0,0) 到 (1,1) 右移再向上彎曲。曲線的 AUC 為 0.31。
下列哪個模型的表現比隨機選取更差?
ROC 曲線會從 (0,0) 到 (1,1) 右弧再向上。曲線的 AUC 為 0.32。
這個模型的 AUC 低於 0.5,表示其效能低於隨機機率。
ROC 曲線大致為從 (0,0) 到 (1,1) 的直線,並帶有少許鋸齒狀。曲線的 AUC 為 0.508。
這個模型的成效比機率高出一些。
ROC 曲線是從 (0,0) 到 (1,1) 的對角線。曲線的 AUC 為 0.5。
這個模型的運作方式與機會相同。
ROC 曲線由兩條垂直線組成:從 (0,0) 到 (0,1) 的垂直線,以及從 (0,1) 到 (1,1) 的水平線。這個曲線的 AUC 為 1.0。
這是假設的完美分類器。

(選用,進階) 加分題

請問下列哪項變更可對上一個問題中成效不如機率的模型進行調整,讓模型成效優於機率?
反轉預測結果,讓 1 預測結果變成 0,而 0 預測結果變成 1
如果二元分類器可可靠地將範例歸入錯誤類別的頻率高於隨機機率,那麼只要立即切換類別標籤,就能提高預測準確度,而無須重新訓練模型。
讓模型一律預測負類。
這可能會提升成效,也可能不會。此外,如準確度一節所述,這並非實用的模型。
讓模型一律預測正類。
這可能會提升成效,也可能不會。此外,如準確度一節所述,這並非實用的模型。

舉例來說,如果有郵件誤傳至垃圾郵件資料夾,您可能會希望將重要業務電子郵件傳送至收件匣,您已針對這種情況訓練垃圾內容分類器,其中正類為垃圾內容,負類為非垃圾內容。下列哪個分類器 ROC 曲線點較佳?

AUC 為 0.84 的 ROC 曲線,顯示曲線凸面部分的三個點,這些點接近 (0,1)。點 A 大約位於 (0.25, 0.75)。點 B 大約位於 (0.30, 0.90),可最大化 TPR 並最小化 FPR。點 C 大約位於 (0.4, 0.95)。
點 A
在這個用途中,即使真陽性也減少,還是建議盡量減少偽陽性。
點 B
這個門檻可平衡真陽性和偽陽性。
點 C
這個門檻可最大化真陽性 (標示更多垃圾郵件),但也會導致偽陽性增加 (更多合法電子郵件遭標示為垃圾郵件)。