【问题标题】:Did not converge warning for k-means clustering in R没有收敛 R 中 k 均值聚类的警告
【发布时间】:2022-03-27 03:43:14
【问题描述】:

我正在尝试计算 R 中的最佳聚类数。我正在使用以下代码

library(factoextra)
library(tidyverse)
library(cluster)

wsCustomer <- read.csv(url("https://archive.ics.uci.edu/ml/machine-learning-databases/00292/Wholesale customers data.csv"))

#Converting Region and Channel columns ; replacing values by names
wsCustomer <- wsCustomer %>% mutate(Channel = ifelse(Channel == 1 , "HoReCa","Retail"),
                                    Region = case_when(Region == 1 ~ "Lisbon",
                                                       Region == 2 ~ "Oporto",
                                                       Region == 3 ~ "Others"))

head(wsCustomer)

df <- as_tibble(scale(wsCustomer[3:8])) 

# compute gap statistic
set.seed(123)
gap_stat <- clusGap(df, FUN = kmeans, nstart = 25,
                    K.max = 10, B = 50)

它给了我以下警告

警告信息: 没有在 10 次迭代中收敛

如何摆脱这个警告信息?

【问题讨论】:

    标签: r cluster-analysis


    【解决方案1】:

    here的回答

    表示得到的分区不稳定(即算法 没有收敛到最优解)。确实是一个补充 迭代会显着修改它。

    默认的 iter.max 参数设置为 10,在你的情况下这还不够,所以只需通过设置 iter.max 参数来增加它:

    gap_stat <- clusGap(df, FUN = kmeans, nstart = 25, K.max = 10, B = 50,iter.max=30)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 2017-02-15
      • 2017-12-09
      • 2018-01-19
      • 2012-06-18
      • 2019-10-14
      • 2014-07-24
      相关资源
      最近更新 更多