# Difference between revisions of "Louvain Clustering"

Jump to navigation
Jump to search

Line 7: | Line 7: | ||

# start with each node being a singleton cluster: | # start with each node being a singleton cluster: | ||

# consider nodes in random order | # consider nodes in random order | ||

− | # repeat as long as cluster membership changes | + | # repeat as long as cluster membership changes |

#* for each node : remove it from its current cluster and add it to the cluster with the highest modularity gain | #* for each node : remove it from its current cluster and add it to the cluster with the highest modularity gain | ||

# aggregate the resulting clustering to a new graph and continue with step 1 (as long as modularity improves). | # aggregate the resulting clustering to a new graph and continue with step 1 (as long as modularity improves). |

## Revision as of 14:42, 2 April 2015

# Louvain Clustering

### Method

The Louvain clustering tries to optimize modularity in a greedy fashion by randomly moving nodes from one cluster to another in multiple levels.

The algorithm is:

- start with each node being a singleton cluster:
- consider nodes in random order
- repeat as long as cluster membership changes
- for each node : remove it from its current cluster and add it to the cluster with the highest modularity gain

- aggregate the resulting clustering to a new graph and continue with step 1 (as long as modularity improves).

### Complexity

Practically, the algorithm seems to scale well for large graphs.

### References

- Fast unfolding of communities in large networks, Vincent D Blondel, Jean-Loup Guillaume, Renaud Lambiotte, Etienne Lefebvre, Journal of Statistical Mechanics: Theory and Experiment 2008 (10), P10008 (12pp) doi: 10.1088/1742-5468/2008/10/P10008. ArXiv: http://arxiv.org/abs/0803.0476
- "The Louvain method for community detection in large networks" Vincent Blondel http://perso.uclouvain.be/vincent.blondel/research/louvain.html