具有缺失值和偏差的排名算法

时间:2014-11-14 07:03:02

标签: machine-learning statistics data-mining regression ranking-functions

问题是:

一组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,但我不确定解决方案。

任何帮助都将深受赞赏

2 个答案:

答案 0 :(得分:1)

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

This excellent paper包含了对共识排名方法的良好动机和文献综述。 Kemeny最佳聚合最小化Kendall-Tau距离,即列表之间成对分歧的总数。虽然这种最优聚合是NP难的,但作者提出了合理的启发式方法。

答案 1 :(得分:0)

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

  • 每个人都会先尝试,尽量填写最可能的值,即平均值。
  • 基于其他属性进行预测,这些属性称为回归估算。

实际上,我认为第二种方法对于这个数据集来说似乎更好,在这个数据集中,用户大多排名不止一种产品。

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