是否有可能为特定数据集的每次执行获得相同的 kmeans 集群。就像对于随机值一样,我们可以使用固定种子。是否可以停止聚类的随机性?
请您参考如下方法:
是的。使用 set.seed在进行聚类之前为随机值设置种子。
使用 kmeans 中的示例:
set.seed(1)
x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))
colnames(x) <- c("x", "y")
set.seed(2)
XX <- kmeans(x, 2)
set.seed(2)
YY <- kmeans(x, 2)
测试是否相等:
identical(XX, YY)
[1] TRUE




