準確率和召回率(precision&recall)
阿新 • • 發佈:2019-01-25
在機器學習、推薦系統、資訊檢索、自然語言處理、多媒體視覺等領域,經常會用到準確率(precision)、召回率(recall)、F-measure、F1-score 來評價演算法的準確性。
一、準確率和召回率(P&R)
以文字檢索為例,先看下圖
其中,黑框表示檢索域,我們從中檢索與目標文字相關性大的項。圖中黃色部分(A+B)表示檢索域中與目標文字先關性高的項,圖中
A+C部分表示你的演算法檢索出的項。A、B、C的含義圖中英文標出。
準確率:
召回率:
一般來說,準確率表示你的演算法檢索出來的有多少是正確的,召回率表示所有準確的條目中有多少被檢索出來。
準確率和召回率的關係
通常,我們希望準確率和召回率均越高越好,但事實上這兩者在某些情況下是矛盾的。比如我們只搜出了一個結果,此結果是正確的,求得precisin等於1。但是由於只搜出一個結果,recall值反而很低,接近於0。所以需要綜合考量,下面介紹F-measure。
二、F-measure
F-measure又稱F-score,其公式為:
其中F2值,更加註重召回率;F0.5值更加重視準確率。
當beta=1時,就是F1-score:
F-measure綜合了precision和recall,其值越高,通常表示演算法效能越好。