R - 玻璃数据的光谱聚类

时间:2016-07-16 22:22:10

标签: r cluster-analysis

我正在尝试来自UCI存储库的Glass数据集上的Spectral Clustering。如果您知道Glass数据有9个属性"RI""Na""Mg""Al""Si""K""Ca""Ba""Fe"。我正在使用具有谱聚类“specClust”的"kknn"包,如下所示:

library(kknn)
data(glass)
specClust(glass[, 1:9], centers=2, nn=50, iter.max=30)  

然而,结果,我得到了2个属性的集群方法,如下所示:

     [,1]       [,2]
1  0.9096567 -0.3331058
2  0.5101274  0.8273862

应该为所有9个属性返回集群均值,而不仅仅是2.当我运行K-means集群时,R控制台返回集群意味着9个属性,如下所示:

       RI      Na       Mg       Al       Si         K        Ca     Ba
1  1.519226 13.7124 0.210400 1.837800 72.87120 0.4910000 10.160400 0.56580000
2  1.518103 13.3150 3.438841 1.325122 72.58378 0.4989024  8.590061 0.05591463
      Fe
1  0.0480000
2  0.0597561

我想知道为什么"kknn"包中的频谱聚类返回集群意味着只有2个属性。我试图找到原因,但没有成功。

我将非常感谢所有的帮助。非常感谢您提供所有帮助。

1 个答案:

答案 0 :(得分:3)

您正在查看整个2个群集的统计信息。

这应该可以为您提供所需内容以及更多内容:

pacman::p_load(kknn)
data(glass)
cl   <- specClust(glass[, 1:9], centers=2, nn=50, iter.max=30) 
pcol <- as.character(glass$Type)
pairs(glass[2:10], pch = pcol, col = c("green", "red")[cl$cluster])
table(glass$Type, cl$cluster)

aggregate(glass[,2:10],by=list(cl$cluster),mean)
  Group.1       RI       Na        Mg       Al      Si         K       Ca          Ba         Fe
1       1 1.519061 13.81638 0.9115942 1.746232 72.6613 0.4652174 9.729130 0.534202899 0.04318841
2       2 1.518035 13.21345 3.5282069 1.301517 72.6460 0.5122069 8.589517 0.004137931 0.06358621

enter image description here

相关问题