用于在 K 均值中确定 K 的 Scree Plot

Scree Plot for determining K in K Means

我正在学习 R,在进行 K 均值聚类时,我多次遇到以下函数,用于从碎石图中确定最佳 K。 现在,我确实理解了函数背后的逻辑,但是我很难理解 R 函数,有人可以解释一下吗。

wssplot <- function(data, nc=15, seed=1234)
  {
    wss <- (nrow(data)-1)*sum(apply(data,2,var))
    for (i in 2:nc)
    {
      set.seed(seed)
      wss[i] <- sum(kmeans(data, centers=i)$withinss)
    }
    plot(1:nc, wss, type="b", xlab="Number of Clusters",
    ylab="Within groups sum of squares")
}

该函数运行 kmeans nc-1 次并找到平方和向量,并将其求和。这是每次迭代的结果,依次绘制在图表上,其中 x 轴上有簇数,y 轴显示平方和的总和。