Determining the optimal number of clusters in Kmeans technique

7 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2014-2-5
  1 个评论
som
som 2014-2-6
编辑:som 2014-2-6
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

请先登录,再进行评论。

更多回答(2 个)

min ho lee
min ho lee 2014-2-5
  1 个评论
som
som 2014-2-6
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

请先登录,再进行评论。


kira
kira 2019-5-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);

标签

Community Treasure Hunt

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

Start Hunting!

Translated by