gpt4 book ai didi

list - 如何比较排名列表

转载 作者:行者123 更新时间:2023-12-02 04:54:11 24 4
gpt4 key购买 nike

我有两个排名项目列表。每个项目都有一个排名和相关的分数。分数决定名次。这两个列表可以包含(并且通常包含)不同的项目,即它们的交集可以为空。我需要衡量这些排名的方法。是否有众所周知的算法(在文献或现实世界系统中)可以做到这一点?距离的衡量应考虑分数以及项目的排名。

最佳答案

这个问题以前从未得到过解答,但我仍然认为这对很多人来说很重要:

常见的相关性测试无法满足您的两个要求,即列表的非联合性排名的重要性。除此之外,他们中的大多数(例如 Kendall-Tau)都不考虑顺序:

>>> from scipy.stats import kendalltau
>>> kendalltau([1,2,3,4,5], [2,1,3,4,5])
KendalltauResult(correlation=0.79999999999999982, value=0.050043527347496564)
>>> kendalltau([1,2,3,4,5], [1,2,3,5,4])
KendalltauResult(correlation=0.79999999999999982, value=0.050043527347496564)

第一次比较应该产生比第二次比较小得多的值,因为列表的头部比尾部更重要(第二个要求)

除此之外,我们还可以看到两个列表需要具有相同的大小并具有相同类型的元素(第一个要求)

可能的解决方案:

满足你所有需求的措施叫做Rank Biased Overlap 。这是所谓的基于平均的重叠的概括,这在 blog 中得到了很好的说明。 。同一个人还发布了 implementation RBO。

2018 年 1 月更新:

  • RBO 的另一个实现对于Python 3.5.2

关于list - 如何比较排名列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com