Algorithm R kmeans初始化

Algorithm R kmeans初始化,algorithm,r,initialization,k-means,Algorithm,R,Initialization,K Means,在R编程环境中,我目前正在使用kmeans算法的标准实现(类型:help(kmeans))。似乎无法初始化起始质心。我指定kmeans算法,给我4个簇,我想传递起始质心的向量坐标 是否有kmeans的实现来允许我传递初始质心坐标 对。您提到的实现允许您指定起始位置。您可以通过中心参数传递它们 > dat <- data.frame(x = rnorm(99, mean = c(-5, 0 , 5)), y = rnorm(99, mean = c(-5, 0, 5))) > p

在R编程环境中,我目前正在使用
kmeans
算法的标准实现(类型:
help(kmeans)
)。似乎无法初始化起始质心。我指定
kmeans
算法,给我4个簇,我想传递起始质心的向量坐标

  • 是否有
    kmeans
    的实现来允许我传递初始质心坐标

  • 对。您提到的实现允许您指定起始位置。您可以通过
    中心
    参数传递它们

    > 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"  
    
    >dat图(dat)
    >启动kmeans(dat,start)
    K-均值聚类,3个大小为33、33、33的聚类
    集群是指:
    xy
    1 -5.0222798 -5.06545689
    2 -0.1297747 -0.02890204
    3  4.8006581  5.00315151
    聚类向量:
    [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
    簇内按簇计算的平方和:
    [1] 58.05137 73.81878 52.45732
    (介于/总数=94.7%之间)
    可用组件:
    [1] “群集”“中心”“totss”“带INSS”“tot.带INSS”“在S之间”
    [7] “尺寸”
    
    centers参数应该允许您这样做。