我有一个来自Movielens评论的知名数据集,我希望将用户群集为电影品味。
我从这样的数据集开始:
idUser iDmovies review
1 2 1
1 10 2
5 5 5
5 10 2
最初我创建了一个包含用户x电影的矩阵,并以这种方式填充评论值:
movieid
idUser 2 5 10
1 1 0 2
5 0 5 2
我的矩阵非常稀疏所以我应用矩阵分解来填充值,现在我有这样的矩阵(只是一个例子):
movieid
idUser 2 5 10
1 1 -2 2
5 -2 5 2
知道在这个数据集中应用PCA o TSNE还是Kmeans?或者更喜欢应用MDS?
我试图在这个数据集上应用PCA,我有这个:
而且我觉得非常糟糕。之后我尝试按照一个教程在PCA(qazxsw poi)上申请T SNE
我这样做:
我的问题是:我认为这不是集群的好方法。对你们来说,这是有意义的集群吗?用完整的矩阵来做这件事有意义吗?
我在Iris数据集中看到了示例,并且集群将被创建,因为Iris的值具有非常相似的值。在我的情况下,一个用户可以是一个组件上的5和另一个组件上的-5(太远)...所以对我来说这可能没有意义......是吗?
只是为了澄清我希望添加我的矩阵审查的屏幕:
我真的很生气
在诸如movielense数据之类的数据集上,聚类通常不像人们想象的那样有效。
这就是为什么您使用的推荐系统,例如基于因子和基于项目集的方法。