Matlab cluster coding - plot scatter graph

2019-02-19 19:52发布

问题:

I have a daily annual energy consumption data set for a one year period. I would like to show a scatter graph of this data set separated into the four clusters which I expect exist (due to the differences of the four seasons)

I understand that matlab cluster function can do this but my statistics is very rusty and I was hoping to get some guidance into which function is the best to use

Thanks

回答1:

Consider the following example of hierarchical clustering applied to the Fisher Iris dataset (150 instances, each point is 4-dimensional):

%# 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