# Reclustering

Other pages introducing user commands of ClusterTools: cluster routines, classification, reclustering, evaluation, support

The below routines change one multilevel clustering `LABC_IN`

into another, `LABC_OUT`

, e.g.

`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.

`reclusth` |
An an arbitrary, preferably diverse set of clusterings is used to create a hierarchical set of clusterings based on an agglomerative procedure. | |

`reclustk` |
A set of clusterings with different sizes is restructured into a set of user defined sizes. | |

`reclustn` |
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. |

Other pages introducing user commands of ClusterTools: cluster routines, classification, reclustering, evaluation, support

#### Multilevel 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;`