【问题标题】:Ranking algorithm for items with multiple attributes?具有多个属性的项目的排名算法?
【发布时间】:2014-02-15 17:17:38
【问题描述】:

如果我有一个很大的项目列表,每个项目都有一个可以包含多个(或没有)分数的属性列表,那么考虑到每个项目的已知信息量可能不相等,对这些项目进行公平排名的好方法是什么?物品?

例如:

项目1

属性 1 值 (70) 属性 2 值 (90) Attribute3 值(空)

项目2

属性 1 值(50;60;70) 属性 2 值 (90) Attribute3 值 (10)

在这里,简单地平均值会使 Item1 的排名高于 Item2 - 但实际上它们/可能/是相同的,因为 Item2 只是有更多已知数据。任何人都可以提出一种比较和排名这样的数据的方法吗?

【问题讨论】:

  • 你已经考虑Radix Sort了吗?
  • 据我们所知,Item2 比 Item1 高,因为它的值 1000 你不知道。似乎任何类型的排名方案都可能失败,具有如此多的不确定性。
  • 您必须对缺少的属性采取一些措施。这是机器学习中的常见问题。有关想法,请参阅此 StackOverflow 帖子:stackoverflow.com/questions/13425722/…

标签: algorithm sorting ranking


【解决方案1】:

您可以执行以下操作:sum/(count+1)。

如果attribute为null,则sum为0,count为0,所以value为0/(0+1) = 0。

对于 (70),您得到 70/2 = 35。

对于 (50, 60, 70),您得到 180/4 = 45。

更高级的方法可能是 (sum+base)/(count+1)。不过你需要选择一个合适的基地。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    相关资源
    最近更新 更多