如何使用PAM数据在fviz_cluster中定义尺寸?

时间:2019-04-22 19:01:01

标签: r cluster-analysis k-means pca

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

进行PCA后:

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

,然后对我的PCA数据进行k均值:

   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值

2 个答案:

答案 0 :(得分:1)

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

因为如果为 TRUE,则在主成分分析之前对数据进行标准化 (:

答案 1 :(得分:0)

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