我有一个以 R(x,y)坐标导入的 2D 数据集。我想在这个数据集上执行 k-means 聚类,但我想将具体坐标设置为初始中心。例如,我想从 5 个中心开始,它们的值为(5, 10), (3, 8), (46, 22), (87, 66), (39, 41).
我在 kmeans 函数中看到了一个中心参数,但我不明白如何将我的值设置为中心。
kmeans(data, centers = ...) # what to set here?
Run Code Online (Sandbox Code Playgroud)
该centers参数采用整数k,在这种情况下,选择k中的随机点data作为初始中心,或者采用初始中心矩阵,其列数与 一样多data。尝试这个:
x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))
kmeans(x,centers=3)
kmeans(x,centers=x[1:3,])
Run Code Online (Sandbox Code Playgroud)