| SOM Toolbox | Online documentation | http://www.cis.hut.fi/projects/somtoolbox/ |
[centers,clusters,errors,ind] = kmeans_clusters(sD, n_max, c_max, verbose)
KMEANS_CLUSTERS Clustering with k-means with different values for k.
[c, p, err, ind] = kmeans_clusters(sD, [n_max], [c_max], [verbose])
[c, p, err, ind] = kmeans_clusters(sD);
Input and output arguments ([]'s are optional):
D (struct) map or data struct
(matrix) size dlen x dim, the data
[n_max] (scalar) maximum number of clusters, default is sqrt(dlen)
[c_max] (scalar) maximum number of k-means runs, default is 5
[verbose] (scalar) verbose level, 0 by default
c (cell array) c{i} contains cluster centroids for k=i
p (cell array) p{i} contains cluster indeces for k=i
err (vector) squared sum of errors for each value of k
ind (vector) Davies-Bouldin index value for each clustering
Makes a k-means to the given data set with different values of
k. The k-means is run multiple times for each k, and the best of
these is selected based on sum of squared errors. Finally, the
Davies-Bouldin index is calculated for each clustering.
For example to cluster a SOM:
[c, p, err, ind] = kmeans_clusters(sM); % find clusterings
[dummy,i] = min(ind); % select the one with smallest index
som_show(sM,'color',{p{i},sprintf('%d clusters',i)}); % visualize
colormap(jet(i)), som_recolorbar % change colormap
See also KMEANS.