0

问题是 :

一组 5 位独立用户被要求对提供给他们的 50 种产品进行评分。所有 50 种产品都会在某个时间点被用户使用。一些用户对某些产品有更多的偏见。一位用户没有真正完成调查并给出了随机值。用户不必对所有产品进行评分。现在给定一个 4 个样本数据集,根据评级对产品进行排名

datset :
product #user1 #user2 #user3 #user4 #user5
 0        29    -        10   90     12 
 1         -    -         -    -      7
 2         -    -        95    6      1
 3         -    -         -    -      2
 4         -    -         -    -     50
 5         -    35       21    13     -
 6         -     -        -     -     5
 7         4     -        -    30     -
 8        11     -        -     -    14  
 .
 .
 .

如何对产品进行排名。

这是一个非常接近原始问题的重构问题。

解决方案:我尝试使用 PCA 清理数据并填充缺失值并应用 NMF,但我不确定解决方案。

任何帮助将不胜感激

4

2 回答 2

3

如果您不关心绝对分数并且最感兴趣的是一致的相对排名,您可以将您的问题视为排名聚合问题的一个实例:给定(部分或全部)排名列表,得出一个共识排名最小化与输入排名的总分歧。有几种可能的方法可以使分歧正式化,并假设应该成立的合理条件。这种条件的一个例子是Condorcet标准:如果一个项目在简单的成对多数投票中击败了所有其他项目,那么它应该排名第一。

这篇优秀的论文包含对共识排序方法的良好动机和文献回顾。Kemeny 最优聚合最小化了 Kendall-Tau 距离,即列表之间成对不一致的总数。虽然这种最佳聚合是 NP 难的,但作者提出了合理的启发式方法。

于 2016-05-10T07:40:09.410 回答
0

在这种情况下,可以使用两种插补方法:

  • 正如每个人一开始都会尝试的那样,填写最可能的值,即平均平均值。
  • 基于其他属性进行预测,称为回归插补。

实际上,我认为第二种方法似乎更适合用户对多个产品进行排名的数据集。

此外,如果您有其他依赖于用户的数据集,您也可以使用它来预测该数据集中的缺失值。

于 2014-11-14T16:21:41.667 回答