Кластерное кодирование Matlab - график рассеяния графика

У меня есть набор данных о ежедневном годовом потреблении энергии за один год. Я хотел бы показать точечную диаграмму этого набора данных, разделенного на четыре кластера, которые, как я ожидаю, существуют (из-за различий в четырех сезонах).

Я понимаю, что функция кластера Matlab может это сделать, но моя статистика очень ржавая, и я надеялся получить некоторые рекомендации о том, какую функцию лучше всего использовать.

Спасибо


person Andrew    schedule 20.08.2011    source источник


Ответы (1)


Рассмотрим следующий пример иерархического кластеризация применена к набору данных Fisher Iris (150 экземпляров, каждая точка четырехмерная):

%# 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разброс

person Amro    schedule 20.08.2011
comment
Я использую XX, как показано ниже, что находится в моем другом вопросе, но ошибка Ошибка при использовании ==> pdistmex Недостаточно памяти. Введите HELP MEMORY для ваших вариантов. ЧИСЛО = 3; D = pdist(XX, 'евклид'); T = связь (D, 'палата'); IDX = кластер (T, 'maxclust', ЧИСЛО); %# визуализировать иерархию кластеров рисунок h = dendrogram(T, 0, 'colorthreshold',mean(T(end-NUM+1:end-NUM+2,3))); set(h, 'LineWidth',2) set(gca, 'XTickLabel',[], 'TickLength',[0 0]) %# график разброса данных, окрашенных кластерами фигура scatter3(meas(:,1),meas (:,2),meas(:,3), 100, IDX, «заполнено») xlabel SL, ylabel SW, zlabel PL - person Tak; 02.08.2013