如何使用 PAM 数据定义 fviz_cluster 中的维度?

How to define dimensions in fviz_cluster with PAM data?

我有一个数据框,它分为行中的样本和列中的变量

进行主成分分析后:

   df.pca <- PCA(df, graph = FALSE, ncp = Inf)
   df.coord <- data.frame(df.pca$ind$coord)

然后在我的 PCA 数据上使用 k-means:

   df.kmeans = kmeans(df.coord, 3, nstart = 25) 

并可视化集群形成:

   fviz.cluster(object = df.kmeans, data = df.pca)

我得到了一个尺寸正确的漂亮图表(我的数据的 dim1 75% 和 dim 2 12%,由 PCA 计算)。

但是如果我用 k-medoid 算法 (PAM) 做完全相同的事情:

   df.pca <- PCA(df, graph = FALSE, ncp = Inf)
   df.coord <- data.frame(flies.todos.pca$ind$coord)
   df.pam = pam(df.coord, 3, nstart = 25)  

   fviz.cluster(object = df.pam, data = df.pca)

我使用完全相同的数据得到不正确的尺寸(dim1 3.4%,dim 2 3.4%)。

如何定义 PCA 的维度?

我试过了:

    fviz.cluster(object = df.pam, data = df.coord)
    fviz.cluster(object = df.pam, data = df)

没有成功,我总是得到 3.4% 的尺寸,甚至不接近 PCA 值

嗯,经过简单的探索,我已经知道答案了。 对于 pam() 函数,PCA 始终自动完成。所以基本上我是在 PCA 数据上做 PCA,这根本没有意义。 如果您要使用 pam() 或任何其他聚类算法,请检查 PCA 是否自动完成!

我遇到了同样的问题。 只是你应该输入参数 stand = FALSE

因为如果为真,数据在主成分分析之前被标准化 (: