【问题标题】:plot result of kmeans clustering in rr中kmeans聚类的绘图结果
【发布时间】:2016-06-02 20:26:57
【问题描述】:

我有一个包含 1599 个观察值和 10 个属性的数据集,我需要在这些数据集上进行 kmeans 聚类。我已经用 6 个集群完成了 kmeans,我可以看到集群中心、大小等,以及哪些观察位于哪个集群中。现在,我需要绘制这些结果,以便在单个图中获得以下信息:在 x 轴上,我想要原始数据的 10 个属性中的 1 个,在 y 轴上,我想要另一个属性,并且在图中,我想要所有 1599 个观测值,但我希望它们所属的每个集群有 6 种不同的颜色。所以,我将有 10C2 = 45 个地块。基本上,这应该给我关于集群 1 在特定属性方面是高/中/低的信息,而集群 2 则如此……对于所有 6 个集群。

我尝试了 fpc 包中的函数 plotcluster 但据我了解,它使用 PCA 将数据映射到 2D,然后根据与原始属性不同的 2 维绘制集群。所以现在当我说集群 1 很低时,在 dim1 中,它并没有多大意义。

是否有一个函数可以做我想做的事情,或者我应该只是将 kmeans 输出中的“$cluster”信息附加到我的原始数据中,并尝试使用基本函数 plot 一次从我的数据中提取 2 列()?

【问题讨论】:

  • 您好,如果有任何答案解决了您的问题,您可以点击“接受”以便其他人看到吗?谢谢

标签: r plot cluster-analysis k-means


【解决方案1】:

我建议一种解决方案,可能不是最简单的解决方案(带有 for 循环),但它似乎可以满足您的需求:

df=mtcars
df$cluster = factor( kmeans(df, centers=6)$clust )
mycomb <- combn(1:ncol(df), 2)
for (xy in 1:45 ) {
  plot(x=df[, mycomb[1,xy]], 
       y=df[, mycomb[2,xy]], 
       col=as.numeric(df$clust), 
       xlab=names(df)[mycomb[1,xy]],
       ylab=names(df)[mycomb[2,xy]])
}

【讨论】:

    猜你喜欢
    • 2011-07-02
    • 2021-07-18
    • 2017-08-08
    • 2013-07-06
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2020-02-04
    • 2021-02-04
    相关资源
    最近更新 更多