【问题标题】:Advice on how to rank based on a score [closed]关于如何根据分数进行排名的建议 [关闭]
【发布时间】:2021-11-02 08:45:25
【问题描述】:

我是尝试使用算法的新手,如果有关于我可以研究哪些主题来尝试解决我的问题的建议,我很感兴趣。

下面是一个图表,我试图了解如何根据评分系统对所有竞争对手及其得分的出现(您会注意到相同的名称出现多次)进行排名。

分数越低越好,我需要将所有竞争对手从最好到最差排名

我期望的输出会是 Atheleric、Scissor Step 和 Huesca 的排名高于 Morecoruba 和 Three Kinds and Taunting

我的基本方法是从每个竞争对手的分数中取最低,然后从最低到最高排名,但我知道这错过了变化和一致性。

我只是想知道人们会对这类问题有什么建议。

【问题讨论】:

    标签: python algorithm ranking ranking-functions


    【解决方案1】:

    您的问题是每个竞争对手都有多个分数。排名没有固定的方法。以下是一些方法:

    • 使用平均分。
    • 使用中位数。
    • 使用最近的分数。
    • 使用基于新近度的加权平均值,例如施加算术衰减)。

    当许多/大多数“竞争对手”的分数很多时,我使用的一种方法是调整后的平均值。调整比平均值小一个标准差:

    avg(score) - stdev(score)
    

    基本思想是,这结合了基于观察次数的分数的置信度。请注意,这假设“分数”不会随着时间而真正改变,并且观察是试图衡量它。

    【讨论】:

    • TrueSkill 评级系统使用avg(score) - 3 * stdev(score)
    • 非常感谢你们,这真的很有帮助
    猜你喜欢
    • 2010-09-19
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2013-05-19
    • 2013-11-20
    • 1970-01-01
    相关资源
    最近更新 更多