www.gusucode.com > stats 源码程序 matlab案例代码 > stats/KMeansClusteringExample.m
%% k-Means Clustering % This example shows how to use k-Means clustering to partition data. %% Load Data rng default % For reproducibility load kmeansdata size(X) %% Run k-Means with 3 Clusters idx3 = kmeans(X,3,'Distance','cityblock'); %% 3-Cluster Silhouette Plot figure [silh3,h] = silhouette(X,idx3,'cityblock'); h = gca; h.Children.EdgeColor = [.8 .8 1]; xlabel 'Silhouette Value' ylabel 'Cluster' %% Run k-Means with 4 Clusters idx4 = kmeans(X,4, 'Distance','cityblock','Display','iter'); %% 4-Cluster Silhouette Plot figure [silh4,h] = silhouette(X,idx4,'cityblock'); h = gca; h.Children.EdgeColor = [.8 .8 1]; xlabel 'Silhouette Value' ylabel 'Cluster' %% Compute Average Silhouette Values cluster3 = mean(silh3) cluster4 = mean(silh4) %% Run k-Means with 5 Clusters idx5 = kmeans(X,5,'Distance','cityblock','Replicates',5); figure [silh5,h] = silhouette(X,idx5,'city'); h = gca; h.Children.EdgeColor = [.8 .8 1]; xlabel 'Silhouette Value' ylabel 'Cluster' mean(silh5) %% Run k-Means with 5 Replications [idx4,cent4,sumdist] = kmeans(X,4,'Distance','cityblock',... 'Display','final','Replicates',5); %% Sum Distances sum(sumdist)