IT干货网

r之k-means:每次执行相同的集群

shangdawei 2026年04月21日 编程设计 69 0

是否有可能为特定数据集的每次执行获得相同的 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 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!