【发布时间】:2018-12-20 03:57:21
【问题描述】:
我正在尝试使用预定义的质心运行 K-means 算法。我看过以下帖子:
1.R k-means algorithm custom centers
2.Set static centers for kmeans in R
但是,每次我运行命令时:
km = kmeans(df_std[,c(10:13)], centers = centroids)
我收到以下错误:
**Error: empty cluster: try a better set of initial centers**
我将质心定义为:
centroids = matrix(c(140.12774, 258.62615, 239.36800, 77.43235,
33.37736, 58.73077, 68.80000, 12.11765,
0.8937264, 0.8118462, 0.8380000, 0.8052941,
11.989858, 12.000000, 8.970000, 1.588235),
ncol = 4, byrow = T)
我的数据是数据框的一个子集,比如:df_std。它已经被缩放了
df_std[,c(10:13)]
我想知道为什么系统会出现上述错误? 对此的任何帮助将不胜感激!
【问题讨论】:
-
你确定这就是你想要的吗?集群会移动(如果它们没有变空)。您很可能希望进行最近邻 分类 而不是 custering...
-
@Anony-Mousse 是的,我绝对想要基于质心的聚类!我正在复制我在一个数据集上所做的一些工作。现在,对于新数据集,我不想要无监督聚类,而是要提取相似的组。
-
@Anony-Mousse 我也看到有很多人,根据自己的需要,一定要经过centroid based clustering,请看:tolstoy.newcastle.edu.au/R/e9/help/10/01/0906.html
-
您希望中心移动还是不移动?这些集群中至少有一个是空的,并且会消失。
-
更详细地解释我的问题。我之前所做的工作假设有 4 个集群 A、B、C 和 D。集群 A 和 B 人口密集,而 C 和 D 稀疏。该分类基于包含八个特征(X = 8)的集合。如果我想基于相同的八个特征对我的观察进行类似的分布,我不应该使用具有预定义质心的 K 均值吗?
标签: r classification cluster-analysis k-means centroid