Community detection algorithm
Community detection has become a popular field of research over the past few decades. Sadly, it did not move as fast as the digital world that a true data scientist lives in, with more and more data collected every second. As a result, most of the proposed solutions are simply not suitable for a big data environment.
Although a lot of algorithms suggest a new scalable way for detecting communities, none of them is actually meaning scalable in a sense of distributed algorithms and parallel computing.
Louvain algorithm
Louvain algorithm is probably the most popular and widely used algorithm for detecting communities on undirected weighted graphs.
Note
For more information about Louvain algorithm, refer to the publication: Fast unfolding of communities in large networks. Vincent D. Blondel, Jean-Loup Guillaume, Renaud Lambiotte, Etienne Lefebvre. 2008
The idea is to start with each vertex being the center of its own community. At each step, we look for community neighbors...