1. 程式人生 > >二分類模型評價指標-AUC

二分類模型評價指標-AUC

AUC的含義和計算*****

AUC針對二分類模型效果進行評價,二分類模型有時可能得到的是一個概率值,這個概率值表明為(0或1類)的可能性(不同於決策樹分類,我們會直接得到一個確切分類),我們劃定一個具體概率值p,大於則為正,小於則為負,然後使用acc或其他指標評價,其實這樣做有很大漏洞,我們不能準確找到這個具體概率值p來確定正負樣本的概率分界,這樣得到的評價指標信服力和準確性都不穩定,於是我們提出了AUC,直接從概率值入手,僅僅對二分類模型進行評價。

①數學上的解釋:ROC曲線下對應X軸的投影面積

ROC曲線:x軸為偽陽性率,y軸為真陽性率,真陽性率 = 真陽性數/(真陽性數+偽陽性數),偽陽性率= 偽陽性數/(真陽性數+偽陽性數),將真偽陽性率的值都標註在ROC平面上,再連起來構成ROC曲線,然後ROC在x軸的投影面積就是我們要求的AUC值。

②通俗點的解釋:從正樣本中隨機抽取一個樣本,從負樣本中隨機抽取一個樣本,通過二分類模型對其進行預測,得到正樣本的預測概率為p1,負樣本的為p2,p1>p2的可能性或概率就是AUC。

通過二分類模型,對所有正負樣本獲得一個score,首先對score從大到小排序,然後令最大score對應的sample 的rank為n,第二大score對應sample的rank為n-1,以此類推。然後把所有的正類樣本的rank相加,再減去所有正樣本和正樣本配對的情況。得到的就是所有的樣本中有多少對正類樣本的score大於負類樣本的score。然後再除以M×N(除以M×N就是轉化為可能性)。即

公式解釋:

 1、為了求的組合中正樣本的score值大於負樣本,如果所有的正樣本score值都是大於負樣本的,那麼第一位與任意的進行組合score值都要大,我們取它的rank值為n,但是n-1中有M-1是正樣例和正樣例的組合這種是不在統計範圍內的(為計算方便我們取n組,相應的不符合的有M個),所以要減掉,那麼同理排在第二位的n-1,會有M-1個是不滿足的,依次類推,故得到後面的公式M*(M+1)/2,我們可以驗證在正樣本score都大於負樣本的假設下,AUC的值為1

  2、根據上面的解釋,不難得出,rank的值代表的是能夠產生score前大後小的這樣的組合數,但是這裡包含了(正,正)的情況,所以要減去這樣的組(即排在它後面正例的個數),即可得到上面的公式

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