Code organization
For a user, the entry point is the DsmClustering.flowBasedMarkovClustering method which takes the following parameters:
| Parameter | Algorithmic name | Empirical useful range | Description |
|---|---|---|---|
|
|
- |
- |
Adjacency matrix between the nodes, non-negative element |
|
|
- |
- |
Labels of the nodes. |
|
|
μ |
Between |
Influence factor of distance between nodes. |
|
|
α |
Normally |
Number of steps taken each iteration in the Markov clustering. |
|
|
β |
Between |
Speed factor of deciding clusters. |
|
|
ε |
- |
Convergence limit. |
|
|
- |
- |
The bus detection algorithm to apply. |
|
|
- |
- |
Tuning factor for selecting bus nodes. Interpretation depends on the chosen bus detection algorithm. |
The function computes how to group the nodes into a bus and hierarchical clusters by shuffling the nodes into a different order.
The result is a Dsm instance, which contains how the original nodes were shuffled to obtain the result, a shuffled version of the provided adjacency matrix and labels, and a tree describing the nested clustering hierarchy, with the getShuffledBase and getShuffledSize methods providing the node offset and length of each group in the shuffled version.