評估與指標

ROC曲線(ROC curve)

/ AR-oh-SEE kurv /

大多數分類器並不是簡單地說「是」或「否」——它們輸出一個分數,比如「73%的可能是垃圾郵件」。要做出判斷,你得挑一個閾值:高於它,就判為垃圾。ROC曲線展示的,是當你把這個閾值從嚴格滑到寬鬆時,你那兩種錯誤率會發生什麼變化。它是一張把所有可能閾值一次性畫在一起的圖。

在曲線上,縱軸是真正例率(即召回率——你抓到的真實正例的比例),橫軸是假正例率(你錯誤地標出的真實反例的比例)。一個完美的模型會緊貼左上角:抓住一切真實的,同時不拉響任何誤報。一個純靠瞎猜的模型,則會描出從一角到另一角的那條對角線。你的曲線越是向左上角那個角拱起,它把兩個類別分開的能力就越強。

這個名字是戰時的遺留物——「受試者工作特徵」(receiver operating characteristic)源自1940年代的雷達,當年操作員要調節自己「多大程度上願意把一個光點叫做敵機」。誠實的提醒是:即便在嚴重不平衡的數據上,ROC曲線也可能看起來令人安心地好,因為假正例率有一個龐大的反例分母把它稀釋了。當正類稀有而珍貴時——詐欺、疾病——精確率-召回率曲線通常講出一個更真實的故事。

一步步調低垃圾郵件的判定閾值。在很嚴格的設定下,你抓到50%的垃圾郵件,誤報率1%(左下方)。把它放寬,你能抓到90%的垃圾,但此時有20%的真郵件被誤標了(右上方)。每一種設定對應一個點;把它們全描出來,就畫出了ROC曲線。

一條曲線,概括了每一個閾值下「召回 對 誤報」的權衡。

一個常見的陷阱:人們在稀有事件問題上引用ROC AUC,而那恰恰會美化模型。在千分之一的詐欺任務上,一個模型可以畫出漂亮的ROC曲線,實際用起來精確率卻慘不忍睹。要讓所選曲線匹配事件的基礎發生率。

又稱
ROC曲线ROC曲線受试者工作特征曲线receiver operating characteristic curve