Community detection and identification is important for understanding network dynamics. In this context, a community (also called a module, group, or cluster) refers to a subset of a network consisting of nodes that are more highly interconnected with each other than they are with nodes that are not part of the community. Identifying these communities can be valuable in many different network analysis problems. For example, diffusion of information or disease is faster within a densely connected social community than within a more loosely connected group.
Modularity is a measure of the quality of a division of a network into communities, or modules. It is defined by the following equation, which compares the density of links within communities to the density of links between communities. Modularity is a numeric value between 1 and -1, with values closer to 1 indicating better community formation (that is, a division of the network with dense within-community connections and sparse between-community connections).
The ML Engine Modularity function is based on the algorithm described in the paper Fast unfolding of communities in large networks; VD Blondel, JL Guillaume, R Lambiotte, E Lefebvre; Journal of Statistical Mechanics: Theory and Experiment, Volume 2008, October 2008.
- A ij is the weight of the edge between nodes i and j.
- k i is the sum of the weights of the edges of node i.
- m is the total weight of all edges in the network. For an unweighted network, the weight of each edge is 1.
- δ(c i ,c j ) is 1 when nodes i and j are in the same community, and 0 otherwise.
This modularity equation is equivalent to the preceding one:
|Field||What Modularity Analysis Identifies|
|Social network analysis||
|Banking and finance||
|Web site optimization||
|Computer network security||