R - 玻璃数据的光谱聚类

R - Spectral Clustering for Glass data

我正在尝试对来自 UCI 存储库的 Glass 数据集进行光谱聚类。如果你知道 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

它应该 return 聚类意味着所有 9 个属性而不仅仅是 2。当我 运行 K-means 聚类时,R 控制台是 returning 聚类意味着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" 包中的光谱聚类 returning 聚类意味着只有 2 个属性。

您查看的是 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