Скачиваний:
4
Добавлен:
08.04.2022
Размер:
3.93 Кб
Скачать
clc
clear
close all
%% Загрузка данных
k=8;
P1 = xlsread('clust.xlsx','Лист1','O1:O300');
P2 = xlsread('clust.xlsx','Лист1','P1:P300');
%% Нормирование
P1 = P1';
P2 = P2';

m = mean(P1);
sko = std(P1);
P11 = zeros(1,300);
for i = 1:300
P11(1,i) = (P1(1,i)-m)/sko;
end

m = mean(P2);
sko = std(P2);
P22 = zeros(1,300);
for i = 1:300
P22(1,i) = (P2(1,i)-m)/sko;
end

%% Создание общей матрицы
P=[P11' P22'];

%% Скаттерограмма на основании idx
figure()
idx = kmeans(P,3);
gscatter(P11,P22,idx,'rbm');
title('Скаттерограмма');
legend('Cluster 1','Cluster 2','Cluster 3','Location','best')
legend('boxoff')

%% Иерархический метод
tree1 = linkage(P,'average');
tree2 = linkage(P,'complete');
tree3= linkage(P,'weighted');
tree4 = linkage(P,'single');
tree5 = linkage(P,'ward');
%tree6 = linkage(P,'centroid');
%tree7 = linkage(P,'median');

figure()
D1=dendrogram(tree1,'Orientation','left','ColorThreshold','default');
set(D1,'LineWidth',2)
title('Average')

figure()
D2=dendrogram(tree2,'Orientation','left','ColorThreshold','default');
set(D2,'LineWidth',2)
title('Complete')

figure()
D3=dendrogram(tree3,'Orientation','left','ColorThreshold','default');
set(D3,'LineWidth',2)
title('Weighted')

figure()
D3=dendrogram(tree4,'Orientation','left','ColorThreshold','default');
set(D3,'LineWidth',2)
title('Single')

figure()
D3=dendrogram(tree5,'Orientation','left','ColorThreshold','default');
set(D3,'LineWidth',2)
title('Ward')

%% Метки кластеров и скаттерограммы
c1 = cluster(tree1,'Maxclust',4);
figure()
gscatter(P(:,1),P(:,2),c1,[1 0 0;0.75, 0, 0.9;0 1 0;0 1 1]);
legend('Cluster 1','Cluster 2','Cluster 3','Cluster 4','Location','best')
legend('boxoff')
title('Скаттерограмма относительно метода кластеризации Average');

c2 = cluster(tree2,'Maxclust', 3);
figure()
gscatter(P(:,1),P(:,2),c2,'grb');
legend('Cluster 1','Cluster 2','Cluster 3','Location','best')
legend('boxoff')
title('Скаттерограмма относительно метода кластеризации Complete');

c3 = cluster(tree3,'Maxclust', 2);
figure()
gscatter(P(:,1),P(:,2),c3,'cr');
legend('Cluster 1','Cluster 2','Location','best')
legend('boxoff')
title('Скаттерограмма относительно метода кластеризации Weighted');

c4 = cluster(tree4,'Maxclust', 2);
figure()
gscatter(P(:,1),P(:,2),c4,'cr');
legend('Cluster 1','Cluster 2','Location','best')
legend('boxoff')
title('Скаттерограмма относительно метода кластеризации Single');

c5 = cluster(tree5,'Maxclust', 2);
figure()
gscatter(P(:,1),P(:,2),c5,'cr');
legend('Cluster 1','Cluster 2','Location','best')
legend('boxoff')
title('Скаттерограмма относительно метода кластеризации Ward')
%% Дополнение (Distance)

%Cityblock
figure()
rez1 = kmeans(P,3,'Distance','cityblock');
gscatter(P(:,1),P(:,2),rez1,'grb');
legend('Cluster 1','Cluster 2','Cluster 3','Location','best')
legend('boxoff')
title('Cityblock')

%Sqeuclidean
figure()
rez2 = kmeans(P,3,'Distance','sqeuclidean');
gscatter(P(:,1),P(:,2),rez2,'grb');
legend('Cluster 1','Cluster 2','Cluster 3','Location','best')
legend('boxoff')
title('Sqeuclidean')

%Cosine
figure()
rez3 = kmeans(P,3,'Distance','cosine');
gscatter(P(:,1),P(:,2),rez3,'grb');
legend('Cluster 1','Cluster 2','Cluster 3','Location','best')
legend('boxoff')
title('Cosine')

%Correlation
figure()
rez4 = kmeans(P,3,'Distance','correlation');
gscatter(P(:,1),P(:,2),rez4,'grb');
legend('Cluster 1','Cluster 2','Cluster 3','Location','best')
legend('boxoff')
title('Correlation')
Соседние файлы в папке Лаба 3-4