日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

auc

發(fā)布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 auc 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 ROC曲線和auc

從二分類說起,假設(shè)我們的樣本全集里,所有樣本的真實標簽(label)為0或1,其中1表示正樣本,0表示負樣本,如果我們有一個分類模型,利用它對樣本進行了標注,那邊我們可以得到下面的劃分

?

 ?

 ?

truth

 ?

 ?

1

0

predictor

1

TP

FP

0

FN

TN

?

TP(true positive):表示正確的肯定

TN( true negative):表示正確的否定

FP(false positive):表示錯誤的肯定

FN (false negative):表示錯誤的否定

簡記:第一個字母表示最終結(jié)果true or false(正確或錯誤),第二個字母表示預(yù)測標簽positive or negative(肯定或否定),從左往右讀。例如FP,表示錯誤地肯定,即預(yù)測是1,而真實是0個樣本個數(shù)。

由此,我們能得到TPR和FPR的定義

TPR(true positive rate):TPR = TP / T = TP / (TP + FN),表示預(yù)測為正的正確結(jié)果TP在所有正樣本T中的占比,顯然TPR越大,模型的預(yù)估能力更好。

FPR(false positive rate):FPR = FP / F = FP / (FP + TN) ,表示預(yù)測為正的錯誤結(jié)果FP在所有負樣本F中的占比,顯然FPR越大,模型的預(yù)估能力越差。

?

?

ROC曲線(receiver operating characteristic curve),由FPR為X軸坐標,TPR為Y軸坐標的曲線。下面介紹如何繪制ROC曲線

假設(shè)模型M對樣本進行標注,當預(yù)測值大于某個閾值r時,我們用下面的函數(shù)來預(yù)測最后結(jié)果

f(x)={1??x?r0??x<rf(x)={1??x?r0??x<r

?

然后,對于每一個r,模型對所有樣本標注一遍,統(tǒng)計得到所有的TP和FP,就可以計算(fpr,tpr),對所有的點在ROC圖上進行標注就可以得到ROC曲線,而本文的主題AUC就是指

ROC曲線下方的面積(Area under the Curve of ROC)。

下面我們來看一個實際的例子

下面表中有10個樣本,其中5個正樣本,5個負樣本,即T=5,F=5。

score

label

0.15

1

0.12

1

0.11

0

0.1

0

0.04

0

0.04

1

0.03

1

0.02

0

0.012

1

0.01

0

?

我們讓r從+∞逐漸較小至-∞,對每一個區(qū)間的r計算點(fpr,tpr),如下圖

?

r

fp

tp

fpr

tpr

(0.15,+∞)

0

0

0

0

(0.12,0.15]

0

1

0

0.2

(0.11,0.12]

0

2

0

0.4

(0.1,0.11]

1

2

0.2

0.4

(0.04,0.1]

2

2

0.4

0.4

(0.03,0.04]

3

3

0.6

0.6

(0.02,0.03]

3

4

0.6

0.8

(0.012,0.02]

4

4

0.8

0.8

(0.01,0.012]

4

5

0.8

1

(-∞,0.01)

5

5

1

1

?

?

由此描繪ROC曲線

?

計算auc

auc即為ROC曲線下方的面積,按梯形法(連續(xù)兩點構(gòu)成的梯形)計算面積得到上面例子的auc為0.62。

?

2 AUC的實際意義

AUC表示,隨機抽取一個正樣本和一個負樣本,分類器正確給出正樣本的score高于負樣本的概率。在所有標注樣本中,正樣本共T個,負樣本共F個,如果隨機抽一個正樣本和負樣本,共有T*F個pair,其中如果有s個pair的正負樣本pair滿足于正樣本的score高于負樣本(權(quán)重為1),v個pair正負樣本score相同(權(quán)重為0.5),則auc就等于(s+0.5v)/(T*F)。本文的例子中,s=15,v=1,則auc=(15+1*0.5)/(5*5)=0.62,和梯形法計算面積的結(jié)果是一致。整體上對于某一個正負樣本pair:<i,j>的權(quán)重Wij計算如下

?

W(i,j)=?????1??si>sj0.5?si=sj0??si<sjW(i,j)={1??si>sj0.5?si=sj0??si<sj

si和sj分別表示正樣本i和負樣本j的score。

?

下面我們對這個進行證明

?

?

我們用梯形法,求摸一個梯形的面積時,如上圖

圖中黃色填充區(qū)域的面積是

S=(x2?x1)?(y2+y1)/2=(x2?x1)?y1+0.5?(x2?x1)?(y2?y1)S=(x2?x1)?(y2+y1)/2=(x2?x1)?y1+0.5?(x2?x1)?(y2?y1)

對S的分子分母同時乘以T*F,由于x*F=FP,y*T=TP,所以有

S=(FP2?FP1)?TP1+0.5?(FP2?FP1)?(TP2?TP1)T?F=ΔFP?TP1+0.5?ΔFP?ΔTPT?FS=(FP2?FP1)?TP1+0.5?(FP2?FP1)?(TP2?TP1)T?F=ΔFP?TP1+0.5?ΔFP?ΔTPT?F?

其中ΔFP=FP2-FP1>=0,表示隨著r降低,本次計算roc點時新增的負樣本數(shù)目;ΔTP=TP2-TP1>=0,表示隨著r的降低,本次計算roc點時新增的正樣本數(shù)目。

由上式可以看出,分母T*F表示所有正負樣本的pair總數(shù)。

分子第一部分ΔFP*TP1表示新增正負樣本pair數(shù)目,因為前一個的正樣本數(shù)TP1和本次新增的負樣本數(shù)ΔFP組成的pair都滿足正樣本的score高于負樣本,這部分pair權(quán)重為1

分子第二部分ΔFP*ΔTP表示此次新增的同score的正負樣本pair數(shù)目,這部分權(quán)重為0.5。

由此可知每一個梯形面積都表示此時正負樣本pair滿足正樣本score大于等于負樣本的加權(quán)計數(shù)值占全體正負樣本pair的占比。從S0累計到最后一個Sn整體表示樣本整體滿足條件的正負樣本的占比,此時等于AUC的面積計算值。

3 AUC的計算方法

到此為止,我們給出了計算auc的兩種方法

1根據(jù)定義,由梯形法計算ROC曲線下的面積,求auc

2遍歷全部樣本,對正負pair的數(shù)目計數(shù),求auc

在單機上,這兩種算法的復(fù)雜度比較高,我們對方法2稍作改進,得到方法3

3我們可以將所有樣本按升序排好后,通過樣本的序號(或者說排序位置,從1開始)rank來計算,我們先給出公式

????AUC=((所有的正樣本rank相加)-T*(T+1)/2)/(T*F)

對相等score的樣本,需要賦予相同的rank,即把所有這些score相等的樣本的rank和取平均。

本文的例子(表1),按升序排好后如下表

rank

score

label

1

0.01

0

2

0.012

1

3

0.02

0

4

0.03

1

5

0.04

0

6

0.04

1

7

0.1

0

8

0.11

0

9

0.12

1

10

0.15

1

?

所有的正樣本rank相加=10+9+(5+6)/2+4+2=30.5,注意5和6由于score相同,需要均分rank和。

????auc=(30.5-5*6/2)/(5*5)=0.62

下面我們證明一下這個計算公式和方法2計算是一致的

首先是分母部分,T*F表示所有正負樣本pair數(shù),對于分子部分

設(shè)每個正樣本i的rank值為Ri,其score為si,

  • 若Ri的score唯一,表示si大于Ri-1個樣本,樣本i和這Ri-1個樣本組成的pair權(quán)值為1,所有此類正樣本的rank之和表示和之前的所有Ri個樣本組成的pair數(shù)(包括和自己的pair以及之前的正樣本pair也算在內(nèi))
  • 如Ri的score不唯一,不妨設(shè)此時有p個正樣本和q個負樣本score和i相同,那么此時有p*q個pair權(quán)值為0.5。

    假設(shè)這連續(xù)p+q個樣本中的第一個rank為t,則第p+q個樣本的rank為t+p+q-1,根據(jù)方法3所述,這p+q個樣本的rank值用平均rank來代替,為(t+t+p+q-1)/2,則p個正樣本的ranker和為(t+t+p+q-1)*p*0.5=p*(t+t+p-1)/2+0.5*p*q。

    ?

    我們看到第二項就是p*q個正負樣本pair的加權(quán)和,而第一項是rank從r,r+1,…,r+p-1這p個正樣本的rank和,它表示這p個正樣本和r前面的樣本組成的pair數(shù)(這p個樣本和自己的pair和之前的正樣本pair也算在內(nèi))。

  • ?

    從1和2分析看,所有正樣本rank和會把正樣本自己(共T個pair)和自己之前的所有正樣本組成的pair(共T*(T-1)/2個pair)都計算一遍,并且權(quán)重為1,因此最后要去掉這個計數(shù),這個計數(shù)就是T*(T+1)/2個pair,因此方法3的公式的分子算出來是正確正負樣本pair的加權(quán)和。

    ?

    4 總結(jié)

    auc的意義

    1 auc只反應(yīng)模型對正負樣本排序能力強弱,對score的大小和精度沒有要求

    2 auc越高模型的排序能力越強,理論上,當模型把所有正樣本排在負樣本之前時,auc為1.0,是理論最大值。

    總結(jié)

    以上是生活随笔為你收集整理的auc的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。