準確率和召回率

機器學習、推薦系統、信息檢索、天然語言處理、多媒體視覺等領域,常常會用到準確率(precision)、召回率(recall)、F-measure、F1-score 來評價算法的準確性。算法

1、準確率和召回率(P&R)

以文本檢索爲例,先看下圖機器學習

 

其中,黑框表示檢索域,咱們從中檢索與目標文本相關性大的項。圖中黃色部分(A+B)表示檢索域中與目標文本先關性高的項,圖中性能

A+C部分表示你的算法檢索出的項。A、B、C的含義圖中英文標出。學習

準確率:

召回率:

通常來講,準確率表示你的算法檢索出來的有多少是正確的,召回率表示全部準確的條目中有多少被檢索出來。spa

準確率和召回率的關係

一般,咱們但願準確率和召回率均越高越好,但事實上這二者在某些狀況下是矛盾的。好比咱們只搜出了一個結果,此結果是正確的,求得precisin等於1。可是因爲只搜出一個結果,recall值反而很低,接近於0。因此須要綜合考量,下面介紹F-measure。.net

2、F-measure

F-measure又稱F-score,其公式爲:orm

其中F2值,更加註重召回率;F0.5值更加劇視準確率。排序

當beta=1時,就是F1-score:ip

F-measure綜合了precision和recall,其值越高,一般表示算法性能越好。ci

3、Average_precision(AP)

平均正確率(AP):對不一樣召回率點上的正確率進行平均。

(1)未插值的AP:某個查詢Q共有6個相關結果,某系統排序返回的文檔中,其中相關文檔有5篇,其位置分別是第1,第2,第5,第10,第20位,則AP=(1/1+2/2+3/5+4/10+5/20+0)/6

(2)插值的AP:在召回率分別爲0,0.1,0.2,...,1.0的十一個點上的正確率求平均,等價於11點平均。

(3)只對返回的相關文檔進行計算的AP,AP=(1/1+2/2+3/5+4/10+5/20)/5,傾向於那些快速返回結果的系統,沒有考慮召回率。

AP形式化公式請參考:http://en.wikipedia.org/wiki/Information_retrieval#Average_precision

相關文章
相關標籤/搜索