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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分类算法中的ROC与PR指标

發(fā)布時間:2023/12/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分类算法中的ROC与PR指标 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文轉(zhuǎn)自:http://blog.csdn.net/xiahouzuoxin/article/details/43165253


做過圖像識別、機器學(xué)習(xí)或者信息檢索相關(guān)研究的人都知道,論文的實驗部分都要和別人的算法比一比。可怎么比,人多嘴雜,我說我的方法好,你說你的方法好,各做各的總是不行——沒規(guī)矩不成方圓。于是慢慢的大家就形成了一種約定,用ROC曲線和PR曲線來衡量算法的優(yōu)劣。關(guān)于ROC曲線和PR曲線的詳細(xì)介紹可參考資料:

  • ROC Analysis and the ROC Convex Hull
  • Tom Fawcett,An introduction to ROC analysis
  • Jesse Davis,Mark Goadrich.?The Relationship Between Precision-Recall and ROC Curves.,還有一份與這篇文章對應(yīng)的PPT講稿
  • 有這3份資料足以,應(yīng)用分析和理論分析都講得很不錯。

    基本概念

  • True Positives,TP:預(yù)測為正樣本,實際也為正樣本的特征數(shù)
  • False Positives,FP:預(yù)測為正樣本,實際為負(fù)樣本的特征數(shù)(錯預(yù)測為正樣本了,所以叫False)
  • True Negatives,TN:預(yù)測為負(fù)樣本,實際也為負(fù)樣本的特征數(shù)
  • False Negatives,FN:預(yù)測為負(fù)樣本,實際為正樣本的特征數(shù)(錯預(yù)測為負(fù)樣本了,所以叫False)
  • 接著往下做做小學(xué)的計算題:

    • TP+FP+FN+FN:特征總數(shù)(樣本總數(shù))
    • TP+FN:實際正樣本數(shù)
    • FP+TN:實際負(fù)樣本數(shù)
    • TP+FP:預(yù)測結(jié)果為正樣本的總數(shù)
    • TN+FN:預(yù)測結(jié)果為負(fù)樣本的總數(shù)

    有些繞,為做區(qū)分,可以這樣記:相同的后綴(P或N)之和表示__預(yù)測__正樣本/負(fù)樣本總數(shù),前綴加入T和F;實際樣本總數(shù)的4個字母完全不同,含TP(正正得正)表示實際正樣本,含F(xiàn)P(負(fù)正得負(fù))表示實際負(fù)樣本。

    ROC曲線和PR曲線

    True Positive Rate(TPR)和False Positive Rate(FPR)分別構(gòu)成ROC曲線的y軸和x軸。

  • TPR=TP/(TP+FN),實際正樣本中被預(yù)測正確的概率
  • FPR=FP/(FP+TN),實際負(fù)樣本中被錯誤預(yù)測為正樣本的概率
  • 實際學(xué)習(xí)算法中,預(yù)測率100%的話,TPR=100%和FPR=0,所以TPR越大而FPR越小越好。僅用其中一個作為衡量指標(biāo)可以嗎?考慮這么一種情況,一幅圖片假如600x480個像素,其中目標(biāo)(正樣本)僅有100個像素,假如有某種算法,預(yù)測的目標(biāo)為包含所有像素600x480,這種情況下TPR的結(jié)果是TPR=100%,但FPR卻也接近于100%。明顯,TPR滿足要求但結(jié)果卻不是我們想要的,因為FPR太高了。

    Precision和Recall(有人中文翻譯成召回率)則分別構(gòu)成了PR曲線的y軸和x軸。

  • Precision=TP/(TP+FP),預(yù)測結(jié)果為有多少正樣本是預(yù)測正確了的
  • Recall=TP/(TP+FN),召回率很有意思,這個其實就=TPR,相對于Precision只不過參考樣本從預(yù)測總正樣本數(shù)結(jié)果變成了實際總正樣本數(shù)。
  • 同理,Precision和Recall同時考慮才能確定算法好壞。好了,原來一切盡在盡在下圖中,

    圖:Confusion Matrix

    既然ROC和PR都是同時要考慮兩個指標(biāo),一個我好一個你好,到底誰好?畫到ROC空間一看便知,如下圖,將TPR和FPR分別畫在兩個坐標(biāo)軸上,則沿著對角線的方向,離右上角越近,算法效果越好。(由于ROC和PR類似,以下僅討論ROC空間和ROC曲線。)

    圖:ROC空間

    一個分類算法,找個最優(yōu)的分類效果,對應(yīng)到ROC空間中的一個點。通常分類器的輸出都是Score,比如SVM、神經(jīng)網(wǎng)絡(luò),有如下的預(yù)測結(jié)果:

    TABLE?一般分類器的結(jié)果都是Score表 no. True Hyp Score
    1 p Y 0.99999
    2 p Y 0.99999
    3 p Y 0.99993
    4 p Y 0.99986
    5 p Y 0.99964
    6 p Y 0.99955
    7 n Y 0.68139
    8 n Y 0.50961
    9 n N 0.48880
    10 n N 0.44951

    True表示實際樣本屬性,Hyp表示預(yù)測結(jié)果樣本屬性,第4列即是Score,Hyp的結(jié)果通常是設(shè)定一個閾值,比如上表就是0.5,Score>0.5為正樣本,小于0.5為負(fù)樣本,這樣只能算出一個ROC值,為更綜合的評價算法的效果,通過取不同的閾值,得到多個ROC空間的值,將這些值描繪出ROC空間的曲線,即為ROC曲線。

    圖:ROC曲線繪制

    我們只要明白這個基本的點,詳細(xì)的ROC曲線繪制已經(jīng)有很多代碼了,資料1就提供了Prel直接根據(jù)Score繪制ROC曲線的代碼,Matlab也有,下載鏈接:

  • Local: prec_rec.m
  • Mathworks: prec_rec.m
  • 有了ROC曲線,更加具有參考意義的評價指標(biāo)就有了,在ROC空間,算法繪制的ROC曲線越凸向西北方向效果越好,有時不同分類算法的ROC曲線存在交叉,因此很多文章里用AUC(即Area Under Curve曲線下的面積)值作為算法好壞的評判標(biāo)準(zhǔn)。關(guān)于這里的凸理論可參考文章開頭的[資料2]。

    ROC曲線左上凸不同的是,PR曲線是右上凸效果越好,下面是兩種曲線凸向的簡單比較:

    圖:算法在ROC空間與PR空間的不同比較

    作為衡量指標(biāo),選擇ROC或PR都是可以的。但是資料3顯示,ROC和PR雖然具有相同的出發(fā)點,但并不一定能得到相同的結(jié)論,在寫論文的時候也只能參考著別人已有的進行選擇了。

    R2 評價指標(biāo)

    準(zhǔn)確測量機器學(xué)習(xí)模型的誤差

    Accurately Measuring Model Prediction Error

    總結(jié)

    以上是生活随笔為你收集整理的分类算法中的ROC与PR指标的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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