ROC曲線,曲線下的面積(Aera Under Curve,AUC),P-R曲線

Persist_bcl發表於2020-12-17

ROC曲線是Receiver Operating Characteristic Curve的簡稱,中文名為“受試者工作特徵曲線”。ROC曲線源於軍事領域,而後在醫學領域應用甚廣,“受試者工作特徵曲線”這一名稱也正是來自於醫學領域。
ROC曲線的橫座標為假陽性率(False Positive Rate,FPR);縱座標為真陽性率(True Positive Rate,TPR)。FPR和TPR的計算方法分別為:
                    **FPR = FP/N**
                    **TPR = TP/P**
上式中,P是真實的正樣本的數量,N是真實的負樣本的數量,TP是P個正樣本中被分類器預測為正樣本的個數,FP是N個負樣本中被分類器預測為正樣本的個數。

為了更直觀地說明這個問題,我們舉一個醫院診斷病人的例子。假設有10位疑似癌症患者,其中有3位很不幸確實患了癌症(P=3),另外7位不是癌症患者(N=7)。醫院對這10位疑似患者做了診斷,診斷出3位癌症患者,其中有2位確實是真正的患者(TP=2)。那麼真陽性率TPR=TP/P=2/3。對於7位非癌症患者來說,有一位很不幸被誤診為癌症患者(FP=1),那麼假陽性率
FPR=FP/N=1/7。對於“該醫院”這個分類器來說,這組分類結果就對應ROC曲線上的一個點(1/7,2/3)。

如何繪製ROC曲線?

事實上,ROC曲線是通過不斷移動分類器的“截斷點”來生成曲線上的一組關鍵點的,通過下面的例子進一步來解釋“截斷點”的概念。在二值分類問題中,模型的輸出一般都是預測樣本為正例的概率。假設測試集中有20個樣本,表2.1是模型的輸出結果。樣本按照預測概率從高到低排序。在輸出最終的正例、負例之前,我們需要指定一個閾值,預測概率大於該閾值的樣本會被判為正例,小於該閾值的樣本則會被判為負例。比如,指定閾值為0.9,那麼只有第一個樣本會被預測為正例,其他全部都是負例。上面所說的“截斷點”指的就是區分正負預測結果的閾值。
通過動態地調整截斷點,從最高的得分開始(實際上是從正無窮開始,對應著ROC曲線的零點),逐漸調整到最低得分,每一個截斷點都會對應一個FPR和TPR,在ROC圖上繪製出每個截斷點對應的位置,再連線所有點就得到最終的ROC曲線。

相關文章