【问题标题】:Distances between rankings排名之间的距离
【发布时间】:2014-07-12 05:09:42
【问题描述】:

我有两种方法可以对字符串列表进行不同的排名,我们可以认为是列表的“正确”排名(即黄金标准)。

换句话说:

 ranked_list_of_strings_1 = method_1(list_of_strings)
 ranked_list_of_strings_2 = method_2(list_of_strings)    
 correctly_ranked_list_of_strings # Some permutation of list_of_strings

考虑到method_1method_2 是黑匣子,我如何确定哪种方法更好? SciPyscikit-learn 或类似的库中是否有任何方法可以测量这一点?

在我的具体情况下,我实际上有一个数据框,每个方法都会输出一个分数。重要的不是方法和真实分数之间的分数差异,而是方法获得正确的排名(分数越高意味着所有列的排名越高)。

      strings        scores_method_1   scores_method_2   true_scores
5714  aeSeOg                    0.54               0.1           0.8
5741  NQXACs                    0.15               0.3           0.4
5768  zsFZQi                    0.57               0.7           0.2

【问题讨论】:

    标签: python pandas scipy scikit-learn


    【解决方案1】:

    您正在寻找标准化折现累积收益 (NDGC)。这是搜索引擎排名中常用的衡量结果排名质量的指标。

    这个想法是您通过点击测试您的排名(在您的情况下是两种方法)针对用户反馈(在您的演员中是真实排名)。 NDGC 会告诉你你的排名相对于事实的质量。

    Python 有基于 RankEval 的模块来实现这个指标(如果你想尝试的话,还有一些其他的)。 repo is here 还有一个不错的IPython NB with examples

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-01
        • 1970-01-01
        • 2022-06-17
        • 2016-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多