標籤

C++ (12) Linux (6) MacOSX (4) Makefile (3) Matlab (3) Ubuntu (3) Android (2) C (1) Refactoring (1)

2011年10月10日 星期一

[Retrieval] Precision - Recall & F-measure

最近survey到一篇有關document retrieval的文章
講到Precision和Recall

Precision = GoldenFind / AllFind
Recall      = GoldenFind / Target

簡單來說:
如果一個資料庫總共有50000筆資料,和「Apple」有關的文章有5000篇。當使用者輸入關鍵字「Apple」後,總共回傳了8000篇,其中只有4000篇跟「Apple」有關,則

Precision = 4000/8000 = 50%
Recall = 4000/5000 = 80%。

在上面的例子中,雖然使用者覺得找到的8000篇中,只有一半是他想要的(50%),但其實搜尋引擎已經很盡責地幫他把在資料庫中有關「Apple」的80%文章都給找出。

如果你看到這,你應該會發現Precision跟Recall是同等重要的,最佳的情況就是Precision = Recall = 1,而且通常Precision = 1比Recall = 1還容易做到。

因為通常使用者並不會知道資料庫中真的和「Apple」有關的文章有多少篇,所以Precision越高,使用者的觀感則會越好。但Recall 則是隱含在背後的另一個同等重要的指標。

「一言既出駟馬難追」是Precision高,而「寧可錯殺一人也不願放過一百」則是要求Recall高。

F-measure則是一個用來評估Retrieval Performance的方法。
若Precision為P,Recall為R,則

F-measure = 2PR/(P+R)

沒有留言:

張貼留言