running k-means and getting different results run after run?

12 views (last 30 days)
I am running k-means clustering algorithm on a data, and I don't understand why I am getting different silhouette plots each time I run this. Is there a way to stabilise this? (or set the number of iterations) so I get the same results?
  3 Comments
cgo
cgo on 17 Aug 2018
<<
These are two results of the the same data, and the same number of clusters (2). Is the data just that bad? Or I am not getting something right here?
Thanks for your insights.
>>

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 17 Aug 2018
That's normal. Specify 'Replicates' to get convergence.
% Do kmeans clustering on the gray scale image.
grayLevels = double(grayImage(:)); % Convert to column vector.
[clusterIndexes, clusterCenters] = kmeans(grayLevels, numberOfClusters,...
'distance', 'sqEuclidean', ...
'Replicates', 2);
labeledImage = reshape(clusterIndexes, rows, columns);
See attached demo.
  3 Comments
Image Analyst
Image Analyst on 27 Mar 2019
You forgot to attach 'ucd1.xlsx', or even any scatterplots. Please do so, so we can help you.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!