首页 > 代码库 > 召回率与准确率

召回率与准确率

最近一直在做相关推荐方面的研究与应用工作,召回率与准确率这两个概念偶尔会遇到,知道意思,但是有时候要很清晰地向同学介绍则有点转不过弯来。
召回率和准确率是数据挖掘中预测、互联网中的搜索引擎等经常涉及的两个概念和指标。
召回率:Recall,又称“查全率”——还是查全率好记,也更能体现其实质意义。
准确率:Precision,又称“精度”、“正确率”。

以检索为例,可以把搜索情况用下图表示:

 
相关
不相关
检索到
A
B
未检索到
C
D

 

 



A:检索到的,相关的 

              (搜到的也想要的)
B:检索到的,但是不相关的         (搜到的但没用的)
C:未检索到的,但却是相关的       (没搜到,然而实际上想要的)
D:未检索到的,也不相关的         (没搜到也没用的)

如果我们希望:被检索到的内容越多越好,这是追求“查全率”,即A/(A+C),越大越好。
如果我们希望:检索到的文档中,真正想要的、也就是相关的越多越好,不相关的越少越好,这是追求“准确率”,即A/(A+B),越大越好。
 
“召回率”与“准确率”虽然没有必然的关系(从上面公式中可以看到),在实际应用中,是相互制约的。要根据实际需求,找到一个平衡点。

往往难以迅速反应的是“召回率”。我想这与字面意思也有关系,从“召回”的字面意思不能直接看到其意义。“召回”在中文的意思是:把xx调回来。“召回率”对应的英文“recall”,recall除了有上面说到的“ordersth to return”的意思之外,还有“remember”的意思。
Recall:the ability to remember sth.that you have learned or sth. that has happened in thepast.
当我们问检索系统某一件事的所有细节时(输入检索query查询词),Recall指:检索系统能“回忆”起那些事的多少细节,通俗来讲就是“回忆的能力”。“能回忆起来的细节数”除以 “系统知道这件事的所有细节”,就是“记忆率”,也就是recall——召回率。简单的,也可以理解为查全率。