2011-08-20 4 views
2

J'ai un jeu de données de consommation d'énergie annuel pour une période d'un an. Je voudrais montrer un diagramme de dispersion de cet ensemble de données séparé dans les quatre groupes que je prévois exister (en raison des différences des quatre saisons)Codage en grappes Matlab - graphe de dispersion de graphe

Je comprends que la fonction de cluster matlab peut le faire, mais mes statistiques sont très rouillées et j'espérais obtenir des conseils dans laquelle la fonction est la meilleure à utiliser

Merci

Répondre

4

Prenons l'exemple suivant de hierarchicalclustering appliquée à l'ensemble de données Fisher Iris (150 cas, chaque point est 4 dimensions):

%# load dataset 
load fisheriris 

%# Construct agglomerative clusters 
NUM = 3; 
D = pdist(meas, 'euclid'); 
T = linkage(D, 'ward'); 
IDX = cluster(T, 'maxclust',NUM); 

%# visualize the hierarchy of clusters 
figure 
h = dendrogram(T, 0, 'colorthreshold',mean(T(end-NUM+1:end-NUM+2,3))); 
set(h, 'LineWidth',2) 
set(gca, 'XTickLabel',[], 'TickLength',[0 0]) 

%# plot scatter of data colored by clusters 
figure 
scatter3(meas(:,1),meas(:,2),meas(:,3), 100, IDX, 'filled') 
xlabel SL, ylabel SW, zlabel PL 

dendogram scatter

+0

J'utilise XX comme indiqué ci-dessous qui est dans mon autre question, mais une erreur « erreur en utilisant ==> pdistmex de mémoire. Tapez HELP MEMORY pour vos options. " NUM = 3; D = pdist (XX, 'euclid'); T = liaison (D, 'ward'); IDX = cluster (T, 'maxclust', NUM) ; % # visualiser la hiérarchie des grappes figure h = dendrogramme (T, 0, 'colorthreshold', moyenne (T (fin-NUM + 1: fin-NUM + 2,3))); set (h , 'LineWidth', 2) ensemble (GCA, 'XTickLabel', [], 'TickLength', [0 0]) % # nuage de points de données de couleur par grappes Figure scatter3 (meas (:, 1) , meas (:, 2), meas (:, 3), 100, IDX, 'rempli') xlabel SL, ylabel SW, zlabel PL – Tak