2019-01-07


本文轉(zhuǎn)載自:https://blog.csdn.net/u013385925/article/details/80385873

面試的時(shí)候,一句話說(shuō)明AUC的本質(zhì)和計(jì)算規(guī)則:
AUC:一個(gè)正例,一個(gè)負(fù)例,預(yù)測(cè)為正的概率值比預(yù)測(cè)為負(fù)的概率值還要大的可能性。
所以根據(jù)定義:我們最直觀的有兩種計(jì)算AUC的方法

1:繪制ROC曲線,ROC曲線下面的面積就是AUC的值
2:假設(shè)總共有(m+n)個(gè)樣本,其中正樣本m個(gè),負(fù)樣本n個(gè),總共有mn個(gè)樣本對(duì),計(jì)數(shù),正樣本預(yù)測(cè)為正樣本的概率值大于負(fù)樣本預(yù)測(cè)為正樣本的概率值記為1,累加計(jì)數(shù),然后除以(mn)就是AUC的值

PS:百度百科,隨機(jī)挑選一個(gè)正樣本以及一個(gè)負(fù)樣本,當(dāng)前的分類(lèi)算法根據(jù)計(jì)算得到的Score值將這個(gè)正樣本排在負(fù)樣本前面的概率就是AUC值。這里的score值就是預(yù)測(cè)為正的概率的值,排在前面表示的是正樣本的預(yù)測(cè)為正的概率值大于負(fù)樣本的預(yù)測(cè)為正的概率值

一、roc曲線

1、roc曲線:接收者操作特征(receiveroperating characteristic),roc曲線上每個(gè)點(diǎn)反映著對(duì)同一信號(hào)刺激的感受性。
橫軸:負(fù)正類(lèi)率(false postive rate FPR)特異度,劃分實(shí)例中所有負(fù)例占所有負(fù)例的比例;(1-Specificity)
縱軸:真正類(lèi)率(true postive rate TPR)靈敏度,Sensitivity(正類(lèi)覆蓋率)

2針對(duì)一個(gè)二分類(lèi)問(wèn)題,將實(shí)例分成正類(lèi)(postive)或者負(fù)類(lèi)(negative)。但是實(shí)際中分類(lèi)時(shí),會(huì)出現(xiàn)四種情況.

(1)若一個(gè)實(shí)例是正類(lèi)并且被預(yù)測(cè)為正類(lèi),即為真正類(lèi)(True Postive TP)
(2)若一個(gè)實(shí)例是正類(lèi),但是被預(yù)測(cè)成為負(fù)類(lèi),即為假負(fù)類(lèi)(False Negative FN)
(3)若一個(gè)實(shí)例是負(fù)類(lèi),但是被預(yù)測(cè)成為正類(lèi),即為假正類(lèi)(False Postive FP)
(4)若一個(gè)實(shí)例是負(fù)類(lèi),但是被預(yù)測(cè)成為負(fù)類(lèi),即為真負(fù)類(lèi)(True Negative TN)

TP:正確的肯定數(shù)目
FN:漏報(bào),沒(méi)有找到正確匹配的數(shù)目
FP:誤報(bào),沒(méi)有的匹配不正確
TN:正確拒絕的非匹配數(shù)目

列聯(lián)表如下,1代表正類(lèi),0代表負(fù)類(lèi):


由上表可得出橫,縱軸的計(jì)算公式:

(1)真正類(lèi)率(True Postive Rate)TPR: TP/(TP+FN),代表分類(lèi)器預(yù)測(cè)的正類(lèi)中實(shí)際正實(shí)例占所有正實(shí)例的比例。Sensitivity
(2)負(fù)正類(lèi)率(False Postive Rate)FPR: FP/(FP+TN),代表分類(lèi)器預(yù)測(cè)的正類(lèi)中實(shí)際負(fù)實(shí)例占所有負(fù)實(shí)例的比例。1-Specificity
(3)真負(fù)類(lèi)率(True Negative Rate)TNR: TN/(FP+TN),代表分類(lèi)器預(yù)測(cè)的負(fù)類(lèi)中實(shí)際負(fù)實(shí)例占所有負(fù)實(shí)例的比例,TNR=1-FPR。Specificity

假設(shè)采用邏輯回歸分類(lèi)器,其給出針對(duì)每個(gè)實(shí)例為正類(lèi)的概率,那么通過(guò)設(shè)定一個(gè)閾值如0.6,概率大于等于0.6的為正類(lèi),小于0.6的為負(fù)類(lèi)。對(duì)應(yīng)的就可以算出一組(FPR,TPR),在平面中得到對(duì)應(yīng)坐標(biāo)點(diǎn)。隨著閾值的逐漸減小,越來(lái)越多的實(shí)例被劃分為正類(lèi),但是這些正類(lèi)中同樣也摻雜著真正的負(fù)實(shí)例,即TPR和FPR會(huì)同時(shí)增大。閾值最大時(shí),對(duì)應(yīng)坐標(biāo)點(diǎn)為(0,0),閾值最小時(shí),對(duì)應(yīng)坐標(biāo)點(diǎn)(1,1)。

如下面這幅圖,(a)圖中實(shí)線為ROC曲線,線上每個(gè)點(diǎn)對(duì)應(yīng)一個(gè)閾值。



橫軸FPR:1-TNR,1-Specificity,F(xiàn)PR越大,預(yù)測(cè)正類(lèi)中實(shí)際負(fù)類(lèi)越多。
縱軸TPR:Sensitivity(正類(lèi)覆蓋率),TPR越大,預(yù)測(cè)正類(lèi)中實(shí)際正類(lèi)越多。

理想目標(biāo):TPR=1,F(xiàn)PR=0,即圖中(0,1)點(diǎn),故ROC曲線越靠攏(0,1)點(diǎn),越偏離45度對(duì)角線越好,Sensitivity、Specificity越大效果越好。

二 如何畫(huà)roc曲線

假設(shè)已經(jīng)得出一系列樣本被劃分為正類(lèi)的概率,然后按照大小排序,下圖是一個(gè)示例,圖中共有20個(gè)測(cè)試樣本,“Class”一欄表示每個(gè)測(cè)試樣本真正的標(biāo)簽(p表示正樣本,n表示負(fù)樣本),“Score”表示每個(gè)測(cè)試樣本屬于正樣本的概率。



接下來(lái),我們從高到低,依次將“Score”值作為閾值threshold,當(dāng)測(cè)試樣本屬于正樣本的概率大于或等于這個(gè)threshold時(shí),我們認(rèn)為它為正樣本,否則為負(fù)樣本。舉例來(lái)說(shuō),對(duì)于圖中的第4個(gè)樣本,其“Score”值為0.6,那么樣本1,2,3,4都被認(rèn)為是正樣本,因?yàn)樗鼈兊摹癝core”值都大于等于0.6,而其他樣本則都認(rèn)為是負(fù)樣本。每次選取一個(gè)不同的threshold,我們就可以得到一組FPR和TPR,即ROC曲線上的一點(diǎn)。這樣一來(lái),我們一共得到了20組FPR和TPR的值,將它們畫(huà)在ROC曲線的結(jié)果如下圖:



AUC(Area under Curve):Roc曲線下的面積,介于0.1和1之間。Auc作為數(shù)值可以直觀的評(píng)價(jià)分類(lèi)器的好壞,值越大越好。

首先AUC值是一個(gè)概率值,當(dāng)你隨機(jī)挑選一個(gè)正樣本以及負(fù)樣本,當(dāng)前的分類(lèi)算法根據(jù)計(jì)算得到的Score值將這個(gè)正樣本排在負(fù)樣本前面的概率就是AUC值,AUC值越大,當(dāng)前分類(lèi)算法越有可能將正樣本排在負(fù)樣本前面,從而能夠更好地分類(lèi)。

二、AUC計(jì)算

  1. 最直觀的,根據(jù)AUC這個(gè)名稱(chēng),我們知道,計(jì)算出ROC曲線下面的面積,就是AUC的值。事實(shí)上,這也是在早期 Machine Learning文獻(xiàn)中常見(jiàn)的AUC計(jì)算方法。由于我們的測(cè)試樣本是有限的。我們得到的AUC曲線必然是一個(gè)階梯狀的。因此,計(jì)算的AUC也就是這些階梯 下面的面積之和。這樣,我們先把score排序(假設(shè)score越大,此樣本屬于正類(lèi)的概率越大),然后一邊掃描就可以得到我們想要的AUC。但是,這么 做有個(gè)缺點(diǎn),就是當(dāng)多個(gè)測(cè)試樣本的score相等的時(shí)候,我們調(diào)整一下閾值,得到的不是曲線一個(gè)階梯往上或者往右的延展,而是斜著向上形成一個(gè)梯形。此 時(shí),我們就需要計(jì)算這個(gè)梯形的面積。由此,我們可以看到,用這種方法計(jì)算AUC實(shí)際上是比較麻煩的。

  2. 一個(gè)關(guān)于AUC的很有趣的性質(zhì)是,它和Wilcoxon-Mann-Witney Test是等價(jià)的。這個(gè)等價(jià)關(guān)系的證明留在下篇帖子中給出。而Wilcoxon-Mann-Witney Test就是測(cè)試任意給一個(gè)正類(lèi)樣本和一個(gè)負(fù)類(lèi)樣本,正類(lèi)樣本的score有多大的概率大于負(fù)類(lèi)樣本的score。有了這個(gè)定義,我們就得到了另外一中計(jì) 算AUC的辦法:得到這個(gè)概率。我們知道,在有限樣本中我們常用的得到概率的辦法就是通過(guò)頻率來(lái)估計(jì)之。這種估計(jì)隨著樣本規(guī)模的擴(kuò)大而逐漸逼近真實(shí)值。這 和上面的方法中,樣本數(shù)越多,計(jì)算的AUC越準(zhǔn)確類(lèi)似,也和計(jì)算積分的時(shí)候,小區(qū)間劃分的越細(xì),計(jì)算的越準(zhǔn)確是同樣的道理。具體來(lái)說(shuō)就是統(tǒng)計(jì)一下所有的 M×N(M為正類(lèi)樣本的數(shù)目,N為負(fù)類(lèi)樣本的數(shù)目)個(gè)正負(fù)樣本對(duì)中,有多少個(gè)組中的正樣本的score大于負(fù)樣本的score。當(dāng)二元組中正負(fù)樣本的 score相等的時(shí)候,按照0.5計(jì)算。然后除以MN。實(shí)現(xiàn)這個(gè)方法的復(fù)雜度為O(n^2)。n為樣本數(shù)(即n=M+N)

  3. 第三種方法實(shí)際上和上述第二種方法是一樣的,但是復(fù)雜度減小了。它也是首先對(duì)score從大到小排序,然后令最大score對(duì)應(yīng)的sample 的rank為n,第二大score對(duì)應(yīng)sample的rank為n-1,以此類(lèi)推。然后把所有的正類(lèi)樣本的rank相加,再減去M-1種兩個(gè)正樣本組合的情況。得到的就是所有的樣本中有多少對(duì)正類(lèi)樣本的score大于負(fù)類(lèi)樣本的score。然后再除以M×N。即

公式解釋?zhuān)?/p>


1、為了求的組合中正樣本的score值大于負(fù)樣本,如果所有的正樣本score值都是大于負(fù)樣本的,那么第一位與任意的進(jìn)行組合score值都要大,我們?nèi)∷膔ank值為n,但是n-1中有M-1是正樣例和正樣例的組合這種是不在統(tǒng)計(jì)范圍內(nèi)的(為計(jì)算方便我們?nèi)組,相應(yīng)的不符合的有M個(gè)),所以要減掉,那么同理排在第二位的n-1,會(huì)有M-1個(gè)是不滿(mǎn)足的,依次類(lèi)推,故得到后面的公式M*(M+1)/2,我們可以驗(yàn)證在正樣本score都大于負(fù)樣本的假設(shè)下,AUC的值為1

2、根據(jù)上面的解釋?zhuān)浑y得出,rank的值代表的是能夠產(chǎn)生score前大后小的這樣的組合數(shù),但是這里包含了(正,正)的情況,所以要減去這樣的組(即排在它后面正例的個(gè)數(shù)),即可得到上面的公式

另外,特別需要注意的是,再存在score相等的情況時(shí),對(duì)相等score的樣本,需要 賦予相同的rank(無(wú)論這個(gè)相等的score是出現(xiàn)在同類(lèi)樣本還是不同類(lèi)的樣本之間,都需要這樣處理)。具體操作就是再把所有這些score相等的樣本 的rank取平均。然后再使用上述公式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容