Determining the optimal number of clusters in Kmeans technique

11 ビュー (過去 30 日間)
som
som 2013 年 5 月 24 日
回答済み: kira 2019 年 5 月 2 日
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