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

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

任何帮助将不胜感激

最佳答案

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

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

关于machine-learning - 具有缺失值和偏差的排名算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26924660/

相关文章:

python - 如何加速基于仅生成结果(右侧)是数据集的一个元素的关联规则的 Apriori 框架?

python - 使用哪些特征进行回归或分类?

python - 使用 scikit-learn PCA.score() 时出错

machine-learning - SVM顺序最小优化的收敛问题

python - 重新排序矩阵元素以反射(reflect)朴素python中的列和行聚类

c++ - MathGL BoxPlot 的数据格式

scala - 随着时间的推移,Scala 项目和任意统计数据的持续集成

python - 如何在jupyter笔记本中设置日期时间列的格式

algorithm - 在集合中寻找模式

python - 通过它们在 python 中的接近度来聚类值(机器学习?)