2011-04-28 226 views
0

在MATLAB中使用kmeans函数对我的数据集进行聚类。我对该函数生成的质心感兴趣。在Matlab中kmeans的质心

在第一次运行期间,产生的质心是c1,c2,c3。 在第二次运行期间,生成的质心为c2,c1,c3

对于下一次运行,它会生成质心的置换。

有没有办法为每次运行产生相同的排列,即c1,c2,c3?

回答

2

您必须更改用于选择初始集群质心位置的方法,有时称为种子。默认选项随机选择来自X的k个观察值。阅读http://www.mathworks.com/help/toolbox/stats/kmeans.html

+0

但我如何确保它将始终为每次运行选择相同的种子? – Learner 2011-04-28 06:05:18

+1

@Arun:你给这个方法一个'开始'参数和一个表示种子坐标的矩阵。 – Pablo 2011-04-28 06:10:57

+0

谢谢大家。下面的代码就是这样做的。兰特( '种子',0); [IDX,C] = kmeans(X',k,'start','uniform'); – Learner 2011-04-28 06:18:47