具有多个属性的项目的排名算法?
Posted
技术标签:
【中文标题】具有多个属性的项目的排名算法?【英文标题】: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 你不知道。似乎任何类型的排名方案都可能失败,具有如此多的不确定性。 您必须对缺少的属性采取一些措施。这是机器学习中的常见问题。有关想法,请参阅此 *** 帖子:***.com/questions/13425722/… 【参考方案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)。不过你需要选择一个合适的基地。
【讨论】:
以上是关于具有多个属性的项目的排名算法?的主要内容,如果未能解决你的问题,请参考以下文章