ftheberge / graph-partition-and-measures

Python code implementing a stable ensemble-based graph partition algorithm (ecg) and 11 graph-aware measures (gam) for comparing graph partitions.
MIT License
26 stars 1 forks source link

Graph Partition and Measures

Python3 code implementing 11 graph-aware measures (gam) for comparing graph partitions as well as a stable ensemble-based graph partition algorithm (ECG). This code is pip installable for both igraph and networkx:

Illustrative examples can be found in the following supplied notebooks:

Graph aware measures (gam)

The measures are respectively:

Each measure can be adjusted (recommended) or not, except for 'jaccard'. Details can be found in:

Ensemble clustering for graphs (ECG)

This is a good, stable graph partitioning algorithm. Description and applications of ECG can be found in:

new experiment

We added a new experiment over SBM (stochastic block model) graphs, and comparing the results of several clustering algorithms, including ECG, with respect to the spectral detectability threshold. Results are summmarized in this wiki and code to run this experiment is provided in this notebook.

ECG Extras

Beside providing a good, stable graph clustering method, ECG can be useful for a few other tasks:

Those extra features are illustrated in the supplied notebook: ECG_extras, as well as in this wiki.