信息检索的评价指标(Precision, Recall, F-score, MAP)
轉載自:
信息檢索的評價指標(Precision, Recall, F-score, MAP) - 小村長技術blog - 博客頻道 - CSDN.NET
http://blog.csdn.net/lu597203933/article/details/41802155
?之前寫過一篇blog叫做機器學習實戰筆記之非均衡分類問題:http://blog.csdn.net/lu597203933/article/details/38666699其中對Precision和Recall及ROC都有所講解,其中區別在于Precision,Recall, F-score,?MAP主要用于信息檢索,而ROC曲線及其度量指標AUC主要用于分類和識別,ROC的詳細介紹見上面的blog,這里的Precision、Recall和上篇blog的計算結果其實是一樣的,只是這里從檢索的角度進行理解。
一:Precision, Recall, F-score
信息檢索、分類、識別、翻譯等領域兩個最基本指標是召回率(Recall Rate)和準確率(Precision Rate------注意統計學習方法中precesion稱為精確率,而準確率為accuracy 是分類正確的樣本除以總樣本的個數。),召回率也叫查全率,準確率也叫查準率,概念公式:
?
??????????? 召回率(Recall)=? 系統檢索到的相關文件 / 系統所有相關的文件總數;;;亦即預測為真實正例除以所有真實正例樣本的個數
?
???????????? 準確率(Precision)=? 系統檢索到的相關文件 / 系統所有檢索到的文件總數;;;亦即等于預測為真實正例除以所有被預測為正例樣本的個數
圖示表示如下:
注意:(1)準確率和召回率是互相影響的,理想情況下肯定是做到兩者都高,但是一般情況下準確率高、召回率就低,召回率低、準確率高,當然如果兩者都低,那是什么地方出問題了。
(2)如果是做搜索,那就是保證召回的情況下提升準確率;如果做疾病監測、反垃圾,則是保準確率的條件下,提升召回。
所以,在兩者都要求高的情況下,可以用F1(或者稱為F-score)來衡量。計算公式如下:
???????????????????? F1= 2 * P * R / (P + R)?
(1)?公式基本上就是這樣,但是如何算圖1中的A、B、C、D呢?這需要人工標注,人工標注數據需要較多時間且枯燥,如果僅僅是做實驗可以用用現成的語料。當然,還有一個辦法,找個一個比較成熟的算法作為基準,用該算法的結果作為樣本來進行比照,這個方法也有點問題,如果有現成的很好的算法,就不用再研究了。
(2)????形象直觀的理解就是Recall要求的是全,寧可錯殺一千,不能放過一人,這樣Recall就會很高,但是precision就會最低。比如將所有的樣本都判為正例,這是Recall就會等于1,但是很多負樣本都被當做了正例,在某些情況就不適用,比如郵件過濾,此時要求的是準確率,不能是召回率,將所有的郵件都當做垃圾郵件肯定是最壞的結果(此時Recall=1)。
如果沒有證據證明你有罪,那么你就有罪,召回率會很高;如果沒有證據證明你有罪,那么你就無罪,召回率會很低,不全,很多人逍遙法外;
二:MAP
MAP:全稱mean average precision(平均準確率)。mAP是為解決P,R,F-measure的單點值局限性的,同時考慮了檢索效果的排名情況。
計算如下:
假設有兩個主題,主題1有4個相關網頁,主題2有5個相關網頁。某系統對于主題1檢索出4個相關網頁,其rank分別為1, 2, 4, 7;對于主題2檢索出3個相關網頁,其rank分別為1,3,5。對于主題1,平均準確率為(1/1+2/2+3/4+4/7)/4=0.83。對于主題 2,平均準確率為(1/1+2/3+3/5+0+0)/5=0.45。則MAP=(0.83+0.45)/2=0.64。”
參考文獻:
1:http://blog.csdn.net/marising/article/details/6543943信息檢索(IR)的評價指標介紹 - 準確率、召回率、F1、mAP、ROC、AUC
2:http://blog.sina.com.cn/s/blog_662234020100pozd.htmlMAP(Mean Average Precision)
3:http://wenku.baidu.com/view/ef91f011cc7931b765ce15ec.html
總結
以上是生活随笔為你收集整理的信息检索的评价指标(Precision, Recall, F-score, MAP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RCNN (Regions with C
- 下一篇: Faster R-CNN