One recommended method用于获得良好的聚类解决方案是首先使用层次聚类方法,选择多个聚类,然后提取质心,然后将其作为K-means聚类算法重新运行,其中心为指定。玩具示例:
library(cluster)
data(animals)
ag.a <- agnes(agriculture, method = "ward")
ag.2 <- cutree(ag.a, k = 2)
这会给我两个集群。如何以我可以放入kmeans()
算法并将其重新应用于相同数据的格式提取集群中心?
答案 0 :(得分:1)
您可以使用群集分配群集成员资格,然后计算群集中所有观察的中心。如果传入矩阵,kmeans
函数允许您通过centers=
参数指定初始中心。你可以用
library(cluster)
data(animals)
ag.a <- agnes(agriculture, method = "ward")
ag.2 <- cutree(ag.a, k = 2)
# calculate means per group
cent<-aggregate(cbind(x,y)~ag.2, agriculture, mean)
# pass as initial centers
kmeans(agriculture, cent[,-1])