forked from sarabsethi/hctsa-SSClustering
-
Notifications
You must be signed in to change notification settings - Fork 1
/
SS_LinkageClusterOps.m
36 lines (26 loc) · 1.05 KB
/
SS_LinkageClusterOps.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function SS_LinkageClusterOps
load('run_options.mat');
load('HCTSA_N.mat');
load('clusters_kmedoids.mat');
load('resid_variance.mat');
kmed = km(kIdx);
% Find best operations
chosenOps = Operations(kmed.CCi);
% First calculate distance vector
rawDistVec = pdist(reducedDataMat','correlation');
distVec = 1- abs(1 - rawDistVec);
% Cluster linkages using a cutoff value for minimum inter-cluster distance
[distMat_cl,cluster_Groupi,ord] = BF_ClusterDown(distVec,...
'clusterThreshold',corr_dist_threshold,'whatDistance','general',...
'linkageMeth','complete');
colormap(BF_getcmap('redyellowblue',10));
fprintf(['Linkage clustering reduced %i operations to %i groups using '...
'a distance threshold of %.2f \n'],...
kmed.k, length(cluster_Groupi),corr_dist_threshold);
opNames = {chosenOps.Name};
orderedNames = opNames(ord);
set(gca,'Ytick',1:kmed.k,'YtickLabel',orderedNames,'TickLabelInterpreter','none');
% Save info regarding best operations
save('linkage_clustered_ops.mat','kmed','distMat_cl','orderedNames',...
'ord','cluster_Groupi');
end