PCA vs TSNE vs MDS(审核集群)

问题描述 投票:0回答:1

我有一个来自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,我有这个:

enter image description here

而且我觉得非常糟糕。之后我尝试按照一个教程在PCA(qazxsw poi)上申请T SNE

我这样做:

https://medium.com/@gabrieltseng/clustering-and-collaborative-filtering-visualizing-clusters-using-t-sne-f9718e7491e6

我的问题是:我认为这不是集群的好方法。对你们来说,这是有意义的集群吗?用完整的矩阵来做这件事有意义吗?

我在Iris数据集中看到了示例,并且集群将被创建,因为Iris的值具有非常相似的值。在我的情况下,一个用户可以是一个组件上的5和另一个组件上的-5(太远)...所以对我来说这可能没有意义......是吗?

只是为了澄清我希望添加我的矩阵审查的屏幕:

enter image description here

我真的很生气

python cluster-analysis pca svd dimensionality-reduction
1个回答
0
投票

在诸如movielense数据之类的数据集上,聚类通常不像人们想象的那样有效。

  1. 并非所有用户都属于“典型”兴趣的集群
  2. 许多用户会有多种兴趣
  3. 变量的重要性各不相同
  4. 缺失值不对应0评级

这就是为什么您使用的推荐系统,例如基于因子和基于项目集的方法。

© www.soinside.com 2019 - 2024. All rights reserved.