分類器性能指標(biāo)之ROC曲線、AUC值 一 roc曲線 1、roc曲線:接收者操作特征(receiveroperating characteristic),roc曲線上每個點反映著對同一信號刺激的感受性。 橫軸:負(fù)正類率(false postive rate FPR)特異度,劃分實例中所有負(fù)例占所有負(fù)例的比例;(1-Specificity) 縱軸:真正類率(true postive rate TPR)靈敏度,Sensitivity(正類覆蓋率) 2針對一個二分類問題,將實例分成正類(postive)或者負(fù)類(negative)。但是實際中分類時,會出現(xiàn)四種情況. (1)若一個實例是正類并且被預(yù)測為正類,即為真正類(True Postive TP) (2)若一個實例是正類,但是被預(yù)測成為負(fù)類,即為假負(fù)類(False Negative FN) (3)若一個實例是負(fù)類,但是被預(yù)測成為正類,即為假正類(False Postive FP) (4)若一個實例是負(fù)類,但是被預(yù)測成為負(fù)類,即為真負(fù)類(True Negative TN) TP:正確的肯定數(shù)目 FN:漏報,沒有找到正確匹配的數(shù)目 FP:誤報,沒有的匹配不正確 TN:正確拒絕的非匹配數(shù)目 列聯(lián)表如下,1代表正類,0代表負(fù)類: 由上表可得出橫,縱軸的計算公式: (1)真正類率(True Postive Rate)TPR: TP/(TP FN),代表分類器預(yù)測的正類中實際正實例占所有正實例的比例。Sensitivity (2)負(fù)正類率(False Postive Rate)FPR: FP/(FP TN),代表分類器預(yù)測的正類中實際負(fù)實例占所有負(fù)實例的比例。1-Specificity (3)真負(fù)類率(True Negative Rate)TNR: TN/(FP TN),代表分類器預(yù)測的負(fù)類中實際負(fù)實例占所有負(fù)實例的比例,TNR=1-FPR。Specificity 假設(shè)采用邏輯回歸分類器,其給出針對每個實例為正類的概率,那么通過設(shè)定一個閾值如0.6,概率大于等于0.6的為正類,小于0.6的為負(fù)類。對應(yīng)的就可以算出一組(FPR,TPR),在平面中得到對應(yīng)坐標(biāo)點。隨著閾值的逐漸減小,越來越多的實例被劃分為正類,但是這些正類中同樣也摻雜著真正的負(fù)實例,即TPR和FPR會同時增大。閾值最大時,對應(yīng)坐標(biāo)點為(0,0),閾值最小時,對應(yīng)坐標(biāo)點(1,1)。 如下面這幅圖,(a)圖中實線為ROC曲線,線上每個點對應(yīng)一個閾值。 橫軸FPR:1-TNR,1-Specificity,F(xiàn)PR越大,預(yù)測正類中實際負(fù)類越多。 縱軸TPR:Sensitivity(正類覆蓋率),TPR越大,預(yù)測正類中實際正類越多。 理想目標(biāo):TPR=1,F(xiàn)PR=0,即圖中(0,1)點,故ROC曲線越靠攏(0,1)點,越偏離45度對角線越好,Sensitivity、Specificity越大效果越好。 二 如何畫roc曲線 假設(shè)已經(jīng)得出一系列樣本被劃分為正類的概率,然后按照大小排序,下圖是一個示例,圖中共有20個測試樣本,“Class”一欄表示每個測試樣本真正的標(biāo)簽(p表示正樣本,n表示負(fù)樣本),“Score”表示每個測試樣本屬于正樣本的概率。 接下來,我們從高到低,依次將“Score”值作為閾值threshold,當(dāng)測試樣本屬于正樣本的概率大于或等于這個threshold時,我們認(rèn)為它為正樣本,否則為負(fù)樣本。舉例來說,對于圖中的第4個樣本,其“Score”值為0.6,那么樣本1,2,3,4都被認(rèn)為是正樣本,因為它們的“Score”值都大于等于0.6,而其他樣本則都認(rèn)為是負(fù)樣本。每次選取一個不同的threshold,我們就可以得到一組FPR和TPR,即ROC曲線上的一點。這樣一來,我們一共得到了20組FPR和TPR的值,將它們畫在ROC曲線的結(jié)果如下圖: AUC(Area under Curve):Roc曲線下的面積,介于0.1和1之間。Auc作為數(shù)值可以直觀的評價分類器的好壞,值越大越好。 首先AUC值是一個概率值,當(dāng)你隨機(jī)挑選一個正樣本以及負(fù)樣本,當(dāng)前的分類算法根據(jù)計算得到的Score值將這個正樣本排在負(fù)樣本前面的概率就是AUC值,AUC值越大,當(dāng)前分類算法越有可能將正樣本排在負(fù)樣本前面,從而能夠更好地分類。 三 為什么使用Roc和Auc評價分類器 既然已經(jīng)這么多標(biāo)準(zhǔn),為什么還要使用ROC和AUC呢?因為ROC曲線有個很好的特性:當(dāng)測試集中的正負(fù)樣本的分布變換的時候,ROC曲線能夠保持不變。在實際的數(shù)據(jù)集中經(jīng)常會出現(xiàn)樣本類不平衡,即正負(fù)樣本比例差距較大,而且測試數(shù)據(jù)中的正負(fù)樣本也可能隨著時間變化。下圖是ROC曲線和Presision-Recall曲線的對比: 在上圖中,(a)和(c)為Roc曲線,(b)和(d)為Precision-Recall曲線。 (a)和(b)展示的是分類其在原始測試集(正負(fù)樣本分布平衡)的結(jié)果,(c)(d)是將測試集中負(fù)樣本的數(shù)量增加到原來的10倍后,分類器的結(jié)果,可以明顯的看出,ROC曲線基本保持原貌,而Precision-Recall曲線變化較大。 參考: http:///2013/06/introduction-to-auc-and-roc/ http://blog.csdn.net/abcjennifer/article/details/7359370 |
|