cylouvain: Cython Louvain
cylouvain is a Python module that provides a fast implementation of the classic Louvain algorithm for node clustering in graph.
This module uses Cython in order to obtain C-like performance with code mostly writen in Python.
Installation
Install the latest version of cylouvain using pip
$ pip install cylouvain
Dependencies
cylouvain requires:
Python (>= 2.7 or >= 3.4)
NumPy
SciPy
NetworkX
Simple example
Build a simple graph with NetworkX:
>>> import networkx as nx
>>> graph = nx.Graph()
>>> graph.add_nodes_from(['a', 'b', 'c', 'd', 'e'])
>>> graph.add_edges_from([('a', 'b'), ('a', 'c'), ('b', 'c'),
('c', 'd'), ('c', 'e'), ('d', 'e')])
Compute a partition of the nodes using cylouvain:
>>> import cylouvain
>>> partition = cylouvain.best_partition(graph)
>>> print(partition)
{'a': 0, 'b': 0, 'c': 0, 'd': 1, 'e': 1}
Compute the corresponding modularity:
>>> modularity = cylouvain.modularity(partition, graph)
>>> print("Modularity: %0.3f\n" % modularity)
Modularity: 0.111
References
The Louvain algorithm is an heuristic to find a node partition that maximizes the modularity function. It is described in:
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)
The modularity function was first introduced in:
Finding and evaluating community structure in networks Newman, Mark EJ and Girvan, Michelle Physical review E, 2004, vol. 69, no 2, p. 026113.
License
Released under the 3-Clause BSD license (see COPYING):
Copyright (C) 2018 Alexandre Hollocou <alexandre@hollocou.fr>
Metadata
Release files for cylouvain 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cylouvain-0.2.2.tar.gz | 131.9 kB | Details |
Release files / cylouvain-0.2.2.tar.gz
| Download URL | cylouvain-0.2.2.tar.gz |
|---|---|
| Size | 131.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
714ee713b605d6d9cb2a26a9a842c5d4c0a8a8f79e8f0f9357dab179ad4ee55b
|
|
BLAKE2b-256 checksum How to use checksums |
c00d158b6fa9eb6697c79b400530fc832dd5a3dc0a3205e051c24c950a90787f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |