首页 > 代码库 > [搜索]一种改进的召回率准确率公式计算方式
[搜索]一种改进的召回率准确率公式计算方式
在信息检索系统中,召回率和准确率的定义为:
召回率:(Recall Ratio,简称R)是衡量信息检索系统在实施某一检索作业时检出相关文献能力的一种测度指标,其计算方法为:Recall=检出的相关文献量/检索系统中的相关文献总量.
准确率:(Precision Ratio,简称P)是衡量系统在实施某一检索作业时检索精准度的一个测度指标,其计算方法为:
Precision=检出的相关文献量/检出的文献总量.
比如一个系统中有100篇文档,对于某一次查询,有10篇相关的文档,在这次检索中,共检出8篇文档,其中4篇为相关文档,则
召回率为:4/10 = 40%
准确率为:4/8 = 50%
但是如果另外一个系统中有10000篇文档,针对同样的一次查询,有10篇相关文档,并且也检出8篇文档,其中4篇为相关文档,则
召回率为:4/10 = 40%
准确率为:4/8 = 50%
也就是两个系统针对的这两次查询,检索效果一样,其实直观的感觉,第二个系统的检索效果明显好于第一个检索系统,打个比方,第一个系统的检索好像是从一把沙中挑出几个贝克,而第二个检索系统是从一箩筐沙中挑出那几个贝克,显然第二个系统的难度大多了。这就是传统召回率和准确率的弊端,并不能反映这些差别。
所以,需要一种新的召回率和准确率的度量方法来克服这个弊端,我们可以考虑非相关文档在文档集中的比重,因为在一个真实的检索系统中,非相关文档总是远远大于相关文档,在此定义一个新的召回率和准确率公式,以不相关文档与总文档数的比值作为系数。公式如下:
新召回率=召回率*(不相关文档数/总文档数)
确率=准确率*(不相关文档数/总文档数)
我们用新的公式再来计算一下这两个检索系统的召回率和准确率,则
第一个系统的
新召回率=40%*(90/100) = 40%*90% = 36%
新准确率=50%*(90/100) = 50%*90 = 45%
第二个系统的
新召回率=40%*(9990/10000) = 40%*99.9%=39.6%
新准确率=50%*(9990/10000) = 50%*99.9%=49.5%
从新的公式来看,第二个系统的召回率和准确率都要比第一个系统要高,体现出来这种差别。
[搜索]一种改进的召回率准确率公式计算方式