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

figure

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

Best Answer

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.