为了得到一个好的聚类结果,One recommended method首先使用层次聚类方法,选择多个聚类,然后提取质心,然后将其作为K均值聚类算法重新运行,并预先指定中心。一个玩具示例:
library(cluster)
data(animals)
ag.a <- agnes(agriculture, method = "ward")
ag.2 <- cutree(ag.a, k = 2)这会给我两个簇。我如何提取聚类中心的格式,然后将其放入kmeans()算法中,并将其重新应用于相同的数据?
发布于 2015-06-09 04:27:21
您可以使用聚类来分配集群成员资格,然后计算集群中所有观测值的中心。如果传入矩阵,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])https://stackoverflow.com/questions/30717096
复制相似问题