k - means聚类结果总是变化
77(30天)
显示旧的评论
我工作在MATLAB的k - means。下面是我的代码:
负载cobat.txt
k =输入(的输入集群的数量:);
如果k < 8
(cidx点击率数据)= kmeans (cobat k“距离”,“sqEuclidean”);
Z = [cobat cidx]
其他的
h =对话框(“必须小于8”);
结束
“cobat”是我的文件,这里看起来:
65 80 55
45 75 78
36 67 66
65 78 88
79 80 72
77 85 65
76 77 79
65 67 88
85 76 88
56 76 65
我的问题是每次我运行代码,它总是显示不同的结果,不同的集群。我怎么能保持聚类结果总是一样的?
0评论
接受的答案
沃尔特·罗伯森
2013年5月5日
%生成一些初始聚类中心根据一些确定性算法
%在这种情况下,我构造一个space-diagonal等距的,但选择你
%的算法
minc = min (cobat, 1);
maxc = max (cobat, 1);
nsamp =大小(cobat, 1);
nsamp initialcenters = repmat(明克1)+ bsxfun (@times, (0: nsamp-1)。”,(maxc - minc)。/ (nsamp-1));
%一旦构造初始中心,集群使用这些中心
(cidx点击率数据)= kmeans (cobat k“距离”,“sqEuclidean”,“开始”,initialcenters);
6个评论
沃尔特·罗伯森
2021年11月26日
%生成一些初始聚类中心根据一些确定性算法
%在这种情况下,我构造一个space-diagonal等距的,但选择你
%的算法
minc = min (cobat [], 1);
maxc = max (cobat [], 1);
nsamp =大小(cobat, 1);
nsamp initialcenters = repmat(明克1)+ bsxfun (@times, (0: nsamp-1)。”,(maxc - minc)。/ (nsamp-1));
%一旦构造初始中心,集群使用这些中心
(cidx点击率数据)= kmeans (cobat k“距离”,“sqEuclidean”,“开始”,initialcenters);