從列聯表計算ROC曲線下面積的公式是什麼?
例如,如果我的表是:
True Value (gold standard) Positive | Negative | | | | | Test | Pos | A | B | Result | | | | | Neg | C | D | | | | |
在一般情況下:你不能
ROC 曲線顯示靈敏度和特異性如何在每個可能的閾值下變化。已在單個閾值處計算了一個列聯表,而有關其他閾值的信息已丟失。因此,您無法根據此匯總數據計算 ROC 曲線。
但是我的分類器是二元的,所以我只有一個閾值
二元分類器並不是真正的二元分類器。儘管它們可能隻公開最終的二元決策,但我所知道的所有分類器都依賴於一些底層的定量估計。
- 二叉決策樹?嘗試構建回歸樹。
- 分類器 SVM?做一個支持向量回歸。
- 邏輯回歸?訪問原始概率。
- 神經網絡?改為使用最後一層的數字輸出。
這將使您有更多的自由來選擇最佳閾值,以獲得滿足您需求的最佳分類。
但我真的很想
你真的不應該。具有很少閾值的 ROC 曲線顯著低估了曲線下的真實面積 (1)。具有單點的 ROC 曲線是最壞的情況,任何與連續分類器的比較都是不准確和誤導的。
只要給我答案!
好吧,好吧,你贏了。對於一個點,我們可以將 AUC 視為兩個三角形 T 和 U 的總和:
我們可以根據列聯表(您定義的 A、B、C 和 D)獲取它們的區域:
$$ \begin{align*} T = \frac{1 \times SE}{2} &= \frac{SE}{2} = \frac{A}{2(A + C)} \ U = \frac{SP \times 1}{2} &= \frac{SP}{2} = \frac{D}{2(B + D)} \end{align*} $$
獲取 AUC: $$ \begin{align*} AUC &= T + U \ &= \frac{A}{2(A + C)} + \frac{D}{2(B + D)} \ &= \frac{SE + SP}{2} \end{align*} $$
總結
您可以從混淆矩陣技術上計算二元分類器的 ROC AUC。但以防萬一我不清楚,讓我最後再說一遍:不要這樣做!
參考
(1) DeLong ER、DeLong DM、Clarke-Pearson DL:比較兩個或多個相關接收器操作特性曲線下的面積:一種非參數方法。生物識別 1988,44:837-845。 https://www.jstor.org/stable/2531595