automatic kmeans: choosing the number of clusters automatically?

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 comentarios

So what are your requirements to choose the number of clusters?
I can write a function that "automatically" chooses the number of clusters to be 10:
chooseNumClusters = @()10;
Now you might have a data set where 10 is the wrong number to choose. What you need to do is describe why you feel that 10 (or any other number) would be wrong.
well, that is the whole point. I would like to go into kmeans without me suggesting how many clusters to use. Let the programs decide in some optimatl fashion.
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.
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.

Iniciar sesión para comentar.

Respuestas (2)

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 el 23 de Ag. de 2012

2 comentarios

*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
Sorry, I don't know what NCestimation_v2 is, and I don't have the Statistical Toolbox so I don't have kmeans ().

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 23 de Ag. de 2012

Respondida:

el 2 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by