在資訊檢索或資料探勘的領域中,一個最基本的問題就是要如何衡量一個系統的效能?這裡指的系統效能是說:當我們進行一個Query時,在一個檢索或搜尋系統中,到底回傳回來的結果,是不是使用者想要的?回傳的效率有多好?
這裡介紹兩個用來評估檢索結果的方法,叫做【查準率(Precision)】和【查全率(Recall)】 。
先來看看定義:
- Precision = Relevant Documents Retrieved / Total Retrieved Documents
- Recall = Relevant Documents Retrieved / Total Relevant Docuements
舉個例子:假設現在資料庫中有10000筆資料,和美食有關的文章有500篇。使用者在輸入美食的關鍵字後,回傳的文章有4000篇,其中有400篇是和美食有關的。
Precision = 400 / 4000 = 10%
Recall = 400 / 500 = 80%
在這裡代表的意思就是,這個搜尋引擎的查準率是10%、查全率是80%。
繼續延伸下去,如果我們要做比較細部的分析,可以將以上的兩個比率畫分成下面的四個象限:
tp : 代表文章和此query有相關,而且系統判斷正確回傳。
fp : 代表文章和此query沒有相關,但是系統判斷錯誤卻被搜尋引擎回傳。
fn : 代表文章和此query有相關,但是系統判斷錯誤沒有回傳。
tn : 代表文章和此query沒有相關,而且系統判斷正確沒有回傳。
所以我們得出:
Precision = tp / tp+fp
Recall = tp / tp+fn
其實這和統計上的Type 1 error、Type 2 error 也有相關,不過在這裡就不再多說了...,有興趣的可以到Google找找,相信會有很多資訊的。