PCA vs TSNE vs MDS(回顾群集)

2024-05-14 18:48:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个众所周知的数据集从影评和我希望集群用户的电影口味。在

我从这样的数据集开始:

idUser iDmovies review
1       2       1
1       10      2
5       5       5
5       10      2

最初,我创建了一个用户x电影矩阵,并用这种方式填充评论值:

^{pr2}$

我的矩阵非常稀疏,所以我应用了矩阵分解来填充值,现在我有了一个这样的矩阵(只是一个例子):

          movieid
    idUser  2    5   10
        1   1    -2    2               
        5   -2    5    2 

知道在这个数据集上应用PCA o TSNE或Kmeans有意义吗?还是更喜欢应用MDS?在

我尝试在这个数据集上应用PCA,结果是:

enter image description here

我觉得真的很糟糕。 之后,我试着遵循一个关于在PCA上应用TSNE的教程(https://medium.com/@gabrieltseng/clustering-and-collaborative-filtering-visualizing-clusters-using-t-sne-f9718e7491e6) 在这个环节

我做这个:

enter image description here

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

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

为了澄清,我希望添加一个我的矩阵审查屏幕:

enter image description here

我真的很疯狂。。在


Tags: 数据用户iris电影组件集群矩阵例子
1条回答
网友
1楼 · 发布于 2024-05-14 18:48:44

在像movielense数据这样的数据集上,聚类通常不能像人们天真地期望的那样工作。在

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

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

相关问题 更多 >

    热门问题