如何从agnes中提取聚类中心以输入kmeans?

时间:2015-06-08 19:05:12

标签: r cluster-analysis

One recommended method用于获得良好的聚类解决方案是首先使用层次聚类方法,选择多个聚类,然后提取质心,然后将其作为K-means聚类算法重新运行,其中心为指定。玩具示例:

library(cluster)
data(animals)
ag.a  <- agnes(agriculture, method = "ward")
ag.2 <- cutree(ag.a, k = 2)

这会给我两个集群。如何以我可以放入kmeans()算法并将其重新应用于相同数据的格式提取集群中心?

1 个答案:

答案 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])