4
我想分配数据点(通过欧几里得距离)到已知的,预定义的一组中心点,将点分配给最接近的固定中心点。kmeans分类到预定的质心
我有这种感觉,我可能过于复杂/缺少一些基本的东西,但我试图用kmeans实现与预定的中心和没有迭代做到这一点。然而,按照下面的代码,可能是因为算法会做一次迭代,这不起作用(美元中心已“移动”,并不等于原来的质心)
是否有另一种简单的分配方式矩阵X中的点到最近的中心?
提前许多感谢,W
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")
vector=c(0.25,0.5,0.75,1)
ccenters <- as.matrix(cbind(vector,vector))
colnames(ccenters) <- c("x", "y")
ccenters
(cl <- kmeans(x, centers=ccenters,iter.max=1))
plot(x, col = cl$cluster)
points(cl$centers, col = 1:4, pch = 8, cex = 2)
cl$centers
cl$centers==ccenters