我是数据挖掘的新手。我决定使用简单的人工数据在 r 中使用 k-means 聚类。
set.seed(101)
x1 <- runif(100,36.6,37.5)
x2 <- runif(100,37.6,38.4)
x3 <- runif(100,38.5,40)
x<-c(50,150,250)
y<-c(37,38,39.25)
centers<-c(37.05,38,39.25)
all <- c(x1,x2,x3)
c1<-kmeans(all,centers=centers,iter.max = 1000,nstart=1,algorithm="Lloyd")
plot(all,col = c1$cluster)
points(x,y,col="red",pch=19)
我生成了三个随机数据集x1,x2,x3。然后我取每个集群的中心,就像每组的平均值一样,并使用 r 的 k-means 算法。结果我得到了你在图片中看到的东西。
我做错了什么?
为什么第二个集群包含第三组的部分?如何提高成绩?
为什么结果如此糟糕,而不是集合是线性分离的?
