R 中的聚类分析:K 均值中的 Elbow 方法

Cluster Analysis in R: Elbow Method in K-means

我正在使用 R 包 fviz_nbclust 对我的数据集实施肘法。此方法将通过从 1.....k 改变 K 来计算每个簇的总和内的总数。例如肘法建议K=2。假设我们这里有两个单独的 K-means 的不同结果。有没有办法找出肘部方法计算的是哪个wss?有没有一种可能的方法来查看使用 K=2 的聚类中使用的肘部方法的 K 均值结果?

可能有更优雅的方法,但您可以简单地向集群函数添加范围外赋值,例如:

l <- list()
f <- function(...) {
  km <- kmeans(...)
  l[[nrow(km$centers)]] <<- km
  km
}

fviz_nbclust(df, f, method = "wss", k.max = 10)

然后只需索引 l[[optimal nr of clusters]] 即可检索模型