1

我想计算 Web 服务排名算法的精度和召回率。我在数据库中有不同的 Web 服务。

客户在他/她的搜索中指定了一些条件。根据客户的要求,我的算法应该为数据库中的每个 Web 服务分配一个分数,并检索得分最高的 Web 服务。

我已经在网上搜索并阅读了本网站上有关该主题的所有问题,并且了解精确度和召回率,但我不知道如何计算它们。最相关的搜索在此链接中:http: //ijcsi.org/papers/IJCSI-8-3-2-452-460.pdf

根据这篇文章,

精度 = 最高排名分数 / 所有服务的总排名分数

召回=最高等级分数/第二高服务分数

但是,我认为这不是真的。你能帮我吗?

非常感谢。

4

3 回答 3

1

没有“排名的精确度和召回率”之类的东西。精度和召回率是为二分类任务定义的,并扩展到多标签任务。排名需要不同的衡量标准,因为这是一个更复杂的问题。计算精度和召回率的方法有很多,我将总结一些基本的精度方法,召回率类似:

  • 将搜索算法限制为一些 K 最佳结果,并将真阳性数计为所需结果在这些 K 结果中的查询数。因此,精度是您可以在 K 个最佳输出中找到相关结果的查询的一小部分
  • 上述非常严格的变化,设置 K=1,这意味着结果必须是“最好的”
  • 为每个位置分配权重,例如,您可以为每个查询提供 1/T“真阳性”,其中有效结果为 T'th。换句话说,如果没有返回有效结果,则分配 1/inf=0,如果它是列表中的第一个,则 1/1=1,如果第二个 1/2,等等。现在精度只是这些分数
于 2014-10-14T17:44:32.763 回答
0

正如 lejlot 所指出的,使用“排名的精确度和召回率”来衡量排名性能是很奇怪的。在您指出的参考论文中,“精度”和“召回”的定义非常“定制” 。

It is a measure of the tradeoff between the precision and 
recall of the particular ranking algorithm. Precision is the  
accuracy of the ranks i.e. how well the algorithm has 
ranked the services according to the user preferences. 
Recall is the deviation between the top ranked service and 
the next relevant service in the list. Both these metrics are 
used together to arrive at the f-measure which then tests the 
algorithm efficiency. 

可能原作者有一些特定的动机来使用这样的定义。评估排名算法的一些常用指标包括:

  • 归一化折扣信息增益或nDCG(用于许多 kaggle 比赛)
  • 精度@K,召回@K

本文还列出了一些常见的排名措施。

于 2014-10-15T10:46:35.750 回答
-1

这是我能想到的:

与其他查询相比,召回率可能只是获得用户点击前 5 个查询的一小部分,而精确度可能是获得用户在第一个查询中获得点击的比例。我不知道,但在这种情况下谈论精确度和召回率似乎很模糊。

于 2014-10-15T10:41:33.307 回答