准确率(Precision),又称为“精度”,“正确率”。
召回率(Recall),又称为“查全率”。
召回率和准确率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中召回率是是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。准确率是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。如以下公式所示:
准确率 = 检索出的相关文档数 / 检索出的所有文档数
召回率 = 检索出的相关文档数 /相关的所有文档数
下面这个例子可以有助于对准确率和召回率两个概念的理解:
在一个数据库中有1000个文档,其中有100个是与美食相关的,系统检索出75个文档,其中,只有50个是与美食相关的,这时候:
准确率 = 50 / 75 = 67%
召回率 = 50 / 100 = 50%
上面的检索为第一次检索,同样的环境下改变检索技术后进行第二次检索,系统检索出150个文档,其中,90个是与美食相关的,此时:
准确率 = 90 / 150 = 60%
召回率 = 90 / 100 = 90%
总结:通过上面两次检索,喜欢思考的读者不难发现,随着召回率的提高,准确率在下降。研究表明:在不牺牲准确率的前提下,要获得一个高的召回率是比较困难的。
基于上文,不难得出准确率与召回率两者基本存在一种“互补”的关系,简单描述就有点像天平的两端,你大我小,或者你小我大(这个比喻可能不是非常严谨)。所以在具体的应用当中,我们应该以哪一个指标为主呢?有没有一个综合的指标涵盖了这两个指标呢?此时,就需要引出F度量(F-measure或F-score)。
其中,P为准确率,R为召回率,a为权重,可以看出F度量为准确率和召回率的加权调和平均。当权重a等于1时,F度量即变为常见的F1,即在业务需求中召回率与准确率同等重要(具体权重a可根据具体业务需求进行调整)。
结合上文的例子,第一次检索的F1为57%,第二次检索的F1为72%,显然改变技术后的检索效果优于改变前。