random_partition_graph#
- random_partition_graph(sizes, p_in, p_out, seed=None, directed=False)[source]#
Returns the random partition graph with a partition of sizes.
A partition graph is a graph of communities with sizes defined by s in sizes. Nodes in the same group are connected with probability p_in and nodes of different groups are connected with probability p_out.
- Parameters:
- sizeslist of ints
Sizes of groups
- p_infloat
probability of edges with in groups
- p_outfloat
probability of edges between groups
- directedboolean optional, default=False
Whether to create a directed graph
- seedinteger, random_state, or None (default)
Indicator of random number generation state. See Randomness.
- Returns:
- GNetworkX Graph or DiGraph
random partition graph of size sum(gs)
- Raises:
- NetworkXError
If p_in or p_out is not in [0,1]
Notes
This is a generalization of the planted-l-partition described in [1]. It allows for the creation of groups of any size.
The partition is store as a graph attribute ‘partition’.
References
[1]Santo Fortunato ‘Community Detection in Graphs’ Physical Reports Volume 486, Issue 3-5 p. 75-174. https://arxiv.org/abs/0906.0612
Examples
>>> G = nx.random_partition_graph([10, 10, 10], 0.25, 0.01) >>> len(G) 30 >>> partition = G.graph["partition"] >>> len(partition) 3