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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

机器学习中的评价指标

發(fā)布時(shí)間:2024/5/24 综合教程 50 生活家
生活随笔 收集整理的這篇文章主要介紹了 机器学习中的评价指标 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基本概念介紹

  1 混淆矩陣

              

  2 準(zhǔn)確率:

             

   3 精準(zhǔn)率:

          

   4 召回率:

          

    5 P-R曲線(查準(zhǔn)率與查全率)

            

   6 靈敏度與特異度

          

    概率角度理解評(píng)價(jià)指標(biāo):

          我們也可以從另一個(gè)角度考慮:條件概率。我們假設(shè)X為預(yù)測(cè)值,Y為真實(shí)值。那么就可以將這些指標(biāo)按條件概率表示:

          

          

7 ROC曲線

         TPR: 真正率 FPR:假正率

          

介紹下AUC原理

由于AUC關(guān)聯(lián)的內(nèi)容比較多,面試時(shí)問(wèn)得也非常細(xì),因此,我們將按照以下順序?qū)UC進(jìn)行重點(diǎn)介紹。

為什么要用AUC?
AUC與ROC?
AUC的實(shí)際含義及計(jì)算方法?

為什么要用AUC?

1. 為什么不用準(zhǔn)確率(accuracy)?

在二分類中,如果正反例分布不平衡,而我們對(duì)minority class 更感興趣,這時(shí)accuracy評(píng)價(jià)指標(biāo)基本沒(méi)有參考價(jià)值,比如欺詐檢測(cè),癌癥檢測(cè)等場(chǎng)景。舉個(gè)栗子:

在測(cè)試集里,有100個(gè)sample,99個(gè)反例,只有1個(gè)正例。如果我的模型不分青紅皂白對(duì)任意一個(gè)sample都預(yù)測(cè)是反例,那么我的模型的accuracy是 正確的個(gè)數(shù)/總個(gè)數(shù) = 99/100 = 99%。

2. 為什么不用召回率(recall)和精確率(precision)?

召回率:把實(shí)際為真值的判斷為真值的概率。

精確率:判斷為真值,判斷正確的概率(實(shí)際也為真值)。

recall = TP / (TP + FN)

precision = TP / (TP + FP)

一般說(shuō)來(lái),如果想要召回的多,精確率就要下降;想要精確率提升,召回的就少。因此,召回率與精確率是魚(yú)與熊掌不可兼得。

3. 為什么不用F1分?jǐn)?shù)?

F1-score 可以看做是precision和recall的綜合評(píng)價(jià)指標(biāo),公式為:

問(wèn)題就是,如果你的兩個(gè)模型,一個(gè)precision特別高,recall特別低,而另一個(gè)recall特別高,precision特別低的時(shí)候,F(xiàn)1-score可能是差不多的,你也不能基于此來(lái)作出選擇。

4. AUC適用場(chǎng)景

說(shuō)到這里,終于講到我們的AUC了,它是一個(gè)用來(lái)評(píng)估分類模型性能的常見(jiàn)指標(biāo),優(yōu)點(diǎn)是:

適用于正負(fù)樣本分布不一致的場(chǎng)景; 在負(fù)樣本數(shù)量遠(yuǎn)遠(yuǎn)大于正樣本數(shù)量的情況下,PR曲線更能反映分類器的好壞
對(duì)于分類器性能的評(píng)價(jià),不限定單一的分類閾值;

不過(guò),要真正理解地AUC,還要從ROC開(kāi)始講起。

AUC與ROC?

ROC是什么?

ROC,全名叫做Receiver Operating Characteristic(受試者操作曲線),其主要分析工具是一個(gè)畫(huà)在二維平面上的曲線——ROC curve,其中,平面的橫坐標(biāo)是假正率(FPR),縱坐標(biāo)是真正率(TPR)。

幾個(gè)概念簡(jiǎn)單解釋下:

真正率(TPR) = 靈敏度(Sensitivity) = 召回率:把實(shí)際為真值的判斷為真值的概率。
特異度(Specificity):把實(shí)際為假值的判斷為假值的概率。
假正率(FPR) = 1 - 特異度:把實(shí)際為假值的判斷為真值的概率。

TPR = TP / (TP+FN)

FPR = FP / (FP + TN

ROC曲線就是,在測(cè)試樣本上根據(jù)不同的分類器閾值,計(jì)算出一系列的(FPR,TPR)點(diǎn)集,將其在平面圖中連接成曲線,這就是ROC曲線。

畫(huà)roc曲線的一個(gè)例子

假設(shè)已經(jīng)得出一系列樣本被劃分為正類的概率,然后按照大小排序,下圖是一個(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)樗鼈兊?ldquo;Score”值都大于等于0.6,而其他樣本則都認(rèn)為是負(fù)樣本。每次選取一個(gè)不同的threshold,我們就可以得到一組FPR和TPR,即ROC曲線上的一點(diǎn)。這樣一來(lái),我們一共得到了20組FPR和TPR的值,將它們畫(huà)在ROC曲線的結(jié)果如下圖:

進(jìn)一步理解ROC曲線

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

橫軸表示FPR,F(xiàn)PR越大,預(yù)測(cè)正類中實(shí)際負(fù)類越多。

縱軸表示TPR:正類覆蓋率,TPR越大,預(yù)測(cè)正類中實(shí)際正類越多。

ROC曲線必過(guò)(0, 0)和(1, 1)兩個(gè)點(diǎn)。

(1, 1)點(diǎn)含義:判分閾值為0,所有樣本都被預(yù)測(cè)為正樣本,TPR=1,F(xiàn)PR=1。
判分閾值逐漸增加,TPR和FPR同時(shí)減小。
(0, 0)點(diǎn)含義:判分閾值為1,所有樣本都預(yù)測(cè)為負(fù)樣本,TPR=0,F(xiàn)PR=0。

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

AUC與ROC的聯(lián)系

雖然,ROC曲線可以評(píng)測(cè)分類器的好壞,但是,人們總是希望能有一個(gè)具體數(shù)值來(lái)作為評(píng)價(jià)指標(biāo),于是Area Under roc Curve(AUC)就出現(xiàn)了。

顧名思義,AUC的值就是處于ROC curve下方的那部分面積的大小。通常,AUC的值介于0.5到1.0之間,較大的AUC代表了較好的performance。

AUC怎么計(jì)算?

AUC有什么實(shí)際含義呢?簡(jiǎn)單來(lái)說(shuō)其實(shí)就是,隨機(jī)抽出一對(duì)樣本(一個(gè)正樣本,一個(gè)負(fù)樣本),然后用訓(xùn)練得到的分類器來(lái)對(duì)這兩個(gè)樣本進(jìn)行預(yù)測(cè),預(yù)測(cè)得到正樣本的概率大于負(fù)樣本概率的概率,這個(gè)概率值就是AUC。

有以下兩種方式計(jì)算AUC:

(1)方法一:

在有M個(gè)正樣本,N個(gè)負(fù)樣本的數(shù)據(jù)集里。一共有M*N對(duì)樣本(一對(duì)樣本即,一個(gè)正樣本與一個(gè)負(fù)樣本)。統(tǒng)計(jì)這M*N對(duì)樣本里,正樣本的預(yù)測(cè)概率大于負(fù)樣本的預(yù)測(cè)概率的個(gè)數(shù)。

計(jì)算復(fù)雜度:O(M*N)。

(2)方法二:

其中:

(1)M, N分別是正樣本和負(fù)樣本的個(gè)數(shù);

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

(3)表示把正樣本的序號(hào)加起來(lái)。

AUC的計(jì)算主要以下幾種方法:

計(jì)算ROC曲線下的面積。這是比較直接的一種方法,可以近似計(jì)算ROC曲線一個(gè)個(gè)小梯形的面積。幾乎不會(huì)用這種方法
從AUC統(tǒng)計(jì)意義去計(jì)算。所有的正負(fù)樣本對(duì)中,正樣本排在負(fù)樣本前面占樣本對(duì)數(shù)的比例,即這個(gè)概率值。
具體的做法就是它也是首先對(duì)prob score從大到小排序,然后令最大prob score對(duì)應(yīng)的sample 的rank為n,第二大score對(duì)應(yīng)sample的rank為n-1,以此類推。然后把所有的正類樣本的rank相加,再減去M-1種兩個(gè)正樣本組合的情況。得到的就是所有的樣本中有多少對(duì)正類樣本的score大于負(fù)類樣本的score。最后再除以M×N。公式如下:

AUC計(jì)算代碼:

def calAUC(prob,labels):
    f = list(zip(prob,labels))
    rank = [values2 for values1,values2 in sorted(f,key=lambda x:x[0])]
    rankList = [i+1 for i in range(len(rank)) if rank[i]==1]
    posNum = 0
    negNum = 0
    for i in range(len(labels)):
        if(labels[i]==1):
            posNum+=1
        else:
            negNum+=1
    auc = 0
    auc = (sum(rankList)- (posNum*(posNum+1))/2)/(posNum*negNum)
    print(auc)
    return auc

參考文獻(xiàn):1https://www.zhihu.com/question/30643044

      2https://mp.weixin.qq.com/s/rfnMox5BEKhrBcpGRMvRVg

總結(jié)

以上是生活随笔為你收集整理的机器学习中的评价指标的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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