如何使用 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
因为如果为真,数据在主成分分析之前被标准化
(:
我有一个数据框,它分为行中的样本和列中的变量
进行主成分分析后:
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
因为如果为真,数据在主成分分析之前被标准化 (: