我正在尝试来自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个属性。我试图找到原因,但没有成功。
我将非常感谢所有的帮助。非常感谢您提供所有帮助。
答案 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