Determining the optimal number of clusters in Kmeans technique

35 visualizzazioni (ultimi 30 giorni)
I have a matrix like "A". I want to cluster its data using K-Means method.
A=[45 58 59
46 76 53
57 65 71
40 55 59
25 35 42
34 51 74
46 90 53
46 63 60
33 50 78
53 57 60
31 28 72
49 49 53
76 88 82
34 100 198
35 35 35];
I used the following command to cluster data.
[Data_clustred, c]= kmeans(A,num_cluster);
by the way, knowing the optimal number of cluster is neccessary to me.
Is there any criteria that determines the optimal numbers of clusters? if so, How can I write its programm.
any help whould be appreciated. Thanks in advance.

Risposta accettata

Walter Roberson
Walter Roberson il 5 Feb 2014
  1 Commento
som
som il 6 Feb 2014
Modificato: som il 6 Feb 2014
Thanks for your answer. Do you have a complete MATLAB code for K-means algorithm? I mean a code that be able to import a data set, do clustering and export cluster data? Thanks in advance

Accedi per commentare.

Più risposte (2)

min ho lee
min ho lee il 5 Feb 2014
  1 Commento
som
som il 6 Feb 2014
Thanks for the file. Can I ask you to email the pdf file of your answer i.e. "Community detection by signaling on complex networks.pdf" to the following email: [ anvari.t@gmail.com] Thanks in advance

Accedi per commentare.


kira
kira il 2 Mag 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);

Community Treasure Hunt

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

Start Hunting!

Translated by