在使用层次聚类时,如何确定最佳群集数量。如果我只有距离矩阵,因为我仅测量成对距离(levenshtein距离),那么我怎样才能找到最佳的群集数量?我参考了其他帖子,它们都使用k-means、层次聚类,但不适用于字符串类型的数据,如下所示。有关如何使用R查找群集数量的任何建议吗?
set.seed(1)
rstr <- function(n,k){ # vector of n random char(k) strings
sapply(1:n,function(i) {do.call(paste0,as.list(sample(letters,k,replace=T)))})
}
str<- c(paste0("aa",rstr(10,3)),paste0("bb",rstr(10,3)),paste0("cc",rstr(10,3)))
# Levenshtein Distance
d <- adist(str)
rownames(d) <- str
hc <- hclust(as.dist(d))