The below routines change one multilevel clustering
LABC_IN into another,
LABC_OUT = reclustn(LABC_IN);
LABC_OUT = LABC_IN*reclustn(LABC_IN);
Some of these routines have additional parameters. Below more information is given on multilevel clustering.
||An an arbitrary, preferably diverse set of clusterings is used to create a hierarchical set of clusterings based on an agglomerative procedure.|
||A set of clusterings with different sizes is restructured into a set of user defined sizes.|
||An arbitrary set of clusterings is made nested. i.e. all objects in smaller clusters in one clustering are always in the same larger cluster in another clustering.|
Cluster procedures in ClusterTools always generate a set of prototypes. A prototype is an object that is representative for a particular cluster. For every object a pointer is stored to the prototype of the cluster it belongs to. The resulting set of pointers is called a clustering and usually stored as a column vector. With the size of a clustering usually the number of clusters is meant.
All cluster routines in ClusterTools produce by default a set of clusterings of different sizes. These clusterings are different as the routines search for a different numbers of clusters, are based on different settings of smoothing parameters or are based on a set of thresholds in an agglomerative procedure.This is illustrated by the following example.
randreset; % set random seeds for reproducability
A = gendatclust; % 10 cluster example, 1000 objects
LABC = clustk(A,[2 3 5 10 20]); % K-Means cluster analysis
disp(size(LABC)) % size of array with clusterings
clustnum(LABC) % number of clusters per clustering
clustsizes(LABC) % cluster sizes in every clustering
scatn(LABC(:,4),A) % scatter plot with clusters for K = 10;