I used the same data, but not get the same figure

2 次查看(过去 30 天)
hi,
I try to built elbow code to determine the no. of clusters.I used the same data that used in the following link:
why I'm not get the same figure of elbow code in above link?
x = iris_dataset;
x=x';
d=kmeans(x,9);
for i=1:10
a=find(d==i);
for j=1:length(a)
cluster(i,j)=a(j);
end
end
for i=1:9
cluster1{i}=cluster(i,:);
var1(i)=var(cluster1{i});
end
s=sum(var1)/9;
s1=var1/s;
y(1:9)=1:9;
plot(y,s1)
thanks in advance

采纳的回答

Doug Hull
Doug Hull 2012-9-6
It looks to me like you are using the default settings for KMeans for the Start Parameter. This chooses a random starting subset. KMeans is NOT deterministic. You should expect different results each time, it is the nature of the algorithm.
  2 个评论
huda nawaf
huda nawaf 2012-9-9
I do not think the reason in kmeans , but relate with somthing like scaling that thing I did not understand it.
thanks
Oleg Komarov
Oleg Komarov 2012-9-9
The reason IS in the randomized selection of the start position in kmeans.
Compare d between two runs of kmeans.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by