1. 程式人生 > >準確率 召回率 F-Measure

準確率 召回率 F-Measure

著作權歸作者所有。
商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
作者:祁鑫
連結:http://www.zhihu.com/question/19645541/answer/39732647
來源:知乎

準確率召回率是廣泛用於資訊檢索和統計學分類領域的兩個度量值,用來評價結果的質量。其中精度是檢索出相關文件數與檢索出的文件總數的比率,衡量的是檢索系統的查準率;召回率是指檢索出的相關文件數和文件庫中所有的相關文件數的比率,衡量的是檢索系統的查全率

一般來說,Precision就是檢索出來的條目(比如:文件、網頁等)有多少是準確的,Recall就是所有準確的條目有多少被檢索出來了。

正確率、召回率和 F 值是在魚龍混雜的環境中,選出目標的重要評價指標。不妨看看這些指標的定義先:

1. 正確率 = 提取出的正確資訊條數 / 提取出的資訊條數

2. 召回率 = 提取出的正確資訊條數 / 樣本中的資訊條數

兩者取值在0和1之間,數值越接近1,查準率或查全率就越高。

3. F值 = 正確率 * 召回率 * 2 / (正確率 + 召回率) (F 值即為正確率和召回率的調和平均值)

不妨舉這樣一個例子:某池塘有1400條鯉魚,300只蝦,300只鱉。現在以捕鯉魚為目的。撒一大網,逮著了700條鯉魚,200只蝦,100只鱉。那麼,這些指標分別如下:

正確率 = 700 / (700 + 200 + 100) = 70%

召回率 = 700 / 1400 = 50%

F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%

不妨看看如果把池子裡的所有的鯉魚、蝦和鱉都一網打盡,這些指標又有何變化:

正確率 = 1400 / (1400 + 300 + 300) = 70%

召回率 = 1400 / 1400 = 100%

F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%

由此可見,正確率是評估捕獲的成果中目標成果所佔得比例;召回率,顧名思義,就是從關注領域中,召回目標類別的比例;而F值,則是綜合這二者指標的評估指標,用於綜合反映整體的指標。

當然希望檢索結果Precision越高越好,同時Recall也越高越好,但事實上這兩者在某些情況下有矛盾的。比如極端情況下,我們只搜尋出了一個結果,且是準確的,那麼Precision就是100%,但是Recall就很低;而如果我們把所有結果都返回,那麼比如Recall是100%,但是Precision就會很低。因此在不同的場合中需要自己判斷希望Precision比較高或是Recall比較高。如果是做實驗研究,可以繪製Precision-Recall曲線

來幫助分析。