R kmeans初始化
问题描述:
在R编程环境中,我目前使用kmeans
算法的标准实现(类型:help(kmeans)
)。看起来我无法初始化起始质心。我指定kmeans
算法给我4簇,我想通过起始质心的矢量坐标。R kmeans初始化
- 是否有执行
kmeans
允许我传递初始质心坐标?
答
是的。您提到的实施允许您指定起始位置。你通过centers
参数centers
参数
> dat <- data.frame(x = rnorm(99, mean = c(-5, 0 , 5)), y = rnorm(99, mean = c(-5, 0, 5)))
> plot(dat)
> start <- matrix(c(-5, 0, 5, -5, 0, 5), 3, 2)
> kmeans(dat, start)
K-means clustering with 3 clusters of sizes 33, 33, 33
Cluster means:
x y
1 -5.0222798 -5.06545689
2 -0.1297747 -0.02890204
3 4.8006581 5.00315151
Clustering vector:
[1] 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2
[51] 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
Within cluster sum of squares by cluster:
[1] 58.05137 73.81878 52.45732
(between_SS/total_SS = 94.7 %)
Available components:
[1] "cluster" "centers" "totss" "withinss" "tot.withinss" "betweenss"
[7] "size"
''中心'参数应该让你这样做。 – Marius 2013-05-06 00:25:33