機器學習評價指標AUC計算公式

2021-10-07 15:02:28 字數 2468 閱讀 4622

auc(are under curve)是乙個模型的評價指標,用於分類任務。

那麼這個指標代表什麼呢?這個指標想表達的含義,簡單來說其實就是隨機抽出一對樣本(乙個正樣本,乙個負樣本),然後用訓練得到的分類器來對這兩個樣本進行**,**得到正樣本的概率大於負樣本概率的概率。

在有m個正樣本,n個負樣本的資料集裡。一共有mn對樣本(一對樣本即,乙個正樣本與乙個負樣本)。統計這mn對樣本裡,正樣本的**概率大於負樣本的**概率的個數。

這裡第乙個條件應該為p(正樣本)>p(負樣本)。

舉例:

假設有4條樣本。2個正樣本,2個負樣本,那麼m*n=4。即總共有4個樣本對。分別是:

(d,b),(d,a),(c,b),(c,a)。

在(d,b)樣本對中,正樣本d**的概率大於負樣本b**的概率(也就是d的得分比b高),記為1

同理,對於(c,b)。正樣本c**的概率小於負樣本c**的概率,記為0.

最後可以算得,總共有3個符合正樣本得分高於負樣本得分,故最後的auc為1+1

+1+0

4=0.75

\frac=0.75

41+1+1

+0​=

0.75

。在這個案例裡,沒有出現得分一致的情況,假如出現得分一致的時候,例如:

同樣本是4個樣本對,對於樣本對(c,b)其i值為0.5。最後的auc為1+1

這個公式看起來有點嚇人,其實就是先對**概率進行排序,然後對正樣本的序號相加,減去後面的常數項,最後除以m*n。

r an

kins

irank_

rankin

si​​

:代表第i條樣本的序號。(概率得分從小到大排,排在第rank個位置)。

\sum

∑ 代表對屬於正樣本的序號加和。

同樣的,我們用上面的例子。

將這個例子排序。按概率排序後得到:

按照上面的公式,只把正樣本的序號加起來也就是只把樣本c,d的rank值加起來後減去乙個常數項m(m

+1)2

\frac

2m(m+1

)​,即( 4+

2)−2

∗(2+

1)22

∗2=6

−340.75

\frac}=\frac0.75

2∗2(4+

2)−2

2∗(2

+1)​

​=46

−3​0

.75。這個答案和我們上面所計算的是一樣的。

這個時候,我們有個問題,假如出現得分一致的情況怎麼辦?下面舉乙個例子說明:

在這個例子中,我們有4個取值概率為0.5,而且既有正樣本也有負樣本的情況。計算的時候,其實原則就是相等得分的rank取平均值。具體來說如下:

先排序:

這裡需要注意的是:相等概率得分的樣本,無論正負,誰在前,誰在後無所謂。

由於只考慮正樣本的rank值:

對於正樣本a,其rank值為7

對於正樣本b,其rank值為6

對於正樣本e,其rank值為(5+4+3+2)/4

對於正樣本f,其rank值為(5+4+3+2)/4

最後我們得到:

auc計算公式 AUC與logloss

在ctr預估中,auc area under curve 用於衡量排序能力,auc值為roc曲線下的面積,是乙個概率值,越大越好。簡單來說這個指標的含義其實就是隨機抽出一對樣本 乙個正樣本,乙個負樣本 然後用訓練得到的分類器來對這兩個樣本進行 得到正樣本的概率大於負樣本概率的概率。auc是乙個二分類...

形象理解AUC計算公式

auc是評價乙個二分類器效能的主流數值指標,定義為roc曲線下方的面積,但這個算起來比較複雜,需要統計假陽性。另乙個定義更直觀,隨機給乙個正樣本和乙個負樣本,多大概率正樣本的score更高。換一種說法,假設正樣本有m mm個,負樣本有n nn個,在所有m n m nm n個正負樣本對中,有多少正樣本...

auc計算公式的理解

對於auc的計算參考 m是正樣本的個數,n是負樣本的個數 如何理解分子,下面是我個人的理解。總體原則 負樣本數 樣本總數 正樣本數,然後構造樣本總數 每次取概率不同的正樣本,其排序也不一樣,構造樣本總數的表達方式也不一樣 rank1,樣本總數為rank1 rank2 再加1個就是樣本總數,為rank...