automatic kmeans: choosing the number of clusters automatically?

14 views (last 30 days)
Hi, I was wondering if there is a way in matlab to do automatic kmeans clustering where the number of clusters K is choosen automtically instead of being user defined? Thanks
  4 Comments
Image Analyst
Image Analyst on 27 Aug 2012
And the link I gave below was of no help? Well, search around... because I think I remember earlier this year there was some talk about methods that tried to guess at the best number of clusters to use.
snigdha priya Bommadevara
snigdha priya Bommadevara on 30 Oct 2012
I am trying to determine the number of clusters automatically i.e the value of k automatically depending upon the image details. I have used the VAT alorithm combined with EDBE algorithm to find k and it did not work properly for my large of large array size. Can anyone help me out with the pseudo code for the algorithm to find automatically the number of clusters proposed by Dr.James Bezdek.

Sign in to comment.

Answers (2)

kira
kira on 2 May 2019
old question, but I just found a way myself looking at matlab documentation:
klist=2:n;%the number of clusters you want to try
myfunc = @(X,K)(kmeans(X, K));
eva = evalclusters(net.IW{1},myfunc,'CalinskiHarabasz','klist',klist)
classes=kmeans(net.IW{1},eva.OptimalK);

Image Analyst
Image Analyst on 23 Aug 2012
  2 Comments
huda nawaf
huda nawaf on 20 Dec 2014
*hi,
I used the code of NCestimation_v2 but got this error message
??? Undefined function or variable 'classlabel'.
Error in ==> validity_Index at 5 labels = classlabel;
I used my data with that code
data=dlmread('d:\matlab\r2011a\bin\paper_comm\link_flixster_bin1.txt');
c=kmeans(f1,2);
  • I do not know what classlabel should be
Thanks
Image Analyst
Image Analyst on 20 Dec 2014
Sorry, I don't know what NCestimation_v2 is, and I don't have the Statistical Toolbox so I don't have kmeans ().

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!