具有多个属性的项目的排名算法?

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)。不过你需要选择一个合适的基地。

【讨论】:

以上是关于具有多个属性的项目的排名算法?的主要内容,如果未能解决你的问题,请参考以下文章

具有多个标准排名的 Excel VBA 动态数据验证下拉列表

数据挖掘算法:PageRank

最优商品topk排名算法

PageRank算法原理与Python实现

搜索引擎对SEO优化工作排名算法及影响因素的现状分析

啥是佩奇排名算法