Algorithm 多属性物品的排序算法?

Algorithm 多属性物品的排序算法?,algorithm,sorting,ranking,Algorithm,Sorting,Ranking,如果我有一个大的项目列表,每个项目都有一个属性列表,其中可以包含多个(或没有)分数,那么考虑到每个项目的已知信息量可能不相等,有什么好方法可以公平地对这些项目进行排名 例如: 项目1 属性1值(70) 属性2值(90) 属性3值(空) 项目2 属性1值(50;60;70) 属性2值(90) 属性3值(10) 在这里,简单地平均值会使Item1的排名高于Item2,但实际上它们/可能/是相同的,因为Item2只是有更多的已知数据。有谁能建议一种方法来比较和排序这样的数据吗?你可以做一些类似的事情:

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

例如:

项目1

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

项目2

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


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

你可以做一些类似的事情:sum/(count+1)

若属性为null,则总和为0,计数为0。所以这个值是0/(0+1)=0

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

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


更先进的方法可以是(总和+基数)/(计数+1)。你需要选择一个合适的基础。

你已经考虑过了吗?我们所知道的,ITEM2比ITEM1高,因为它有一个你不知道的1000的值。似乎任何一种排名方案都可能失败,因为有这么多的不确定性。你必须做一些事情来弥补缺失的属性。这是机器学习中的一个常见问题。有关想法,请参阅此帖子: