1

In Clustering and Community Detection in Directed Networks:A Survey Malliaros & Vazirgiannis (2013) describe many algorithms for clustering and community detection in directed graphs. I have a relatively large graph, 400.000 nodes, 180.000.000 edges and are looking for software that could detect communities in it, but the program for network analysis I've looked into, the igraph package for R, does not seem to have any algorithms that is capable of detecting clusters in big directed networks (igraph has cluster_fast_greedy(), and cluster_louvain() but they only work on undirected graphs). Is there any package, either in R or in python, that can do this?

A similar question was posed in Community detection on a very large graph, the difference being that I need packages for python or R.

Hans Ekbrand
  • 405
  • 5
  • 13

1 Answers1

5

You can use the Leiden algorithm from the Python package leidenalg, which should be even faster than the Louvain algorithm that you mention. This package works on a multitude of different networks, including directed networks, but also multiplex networks and networks with negative links. In addition, it supports a range of different quality functions. It should easily scale to networks with millions of node (provided it fits in memory of course), with runtimes usually of a couple of minutes at most.

Disclaimer: I am the author of the package (and a number of related publications).

Vincent Traag
  • 660
  • 4
  • 6