cdlib.benchmark.LFR¶
- cdlib.benchmark.LFR(n: int, tau1: float, tau2: float, mu: float, average_degree: float | None = None, min_degree: int | None = None, max_degree: int | None = None, min_community: int | None = None, max_community: int | None = None, tol: float = 1e-07, max_iters: int = 500, seed: int = 42) [<class 'object'>, <class 'object'>] ¶
Returns the LFR benchmark graph and planted communities.
- Parameters:
n – Number of nodes in the created graph.
tau1 – Power law exponent for the degree distribution of the created graph. This value must be strictly greater than one.
tau2 – Power law exponent for the community size distribution in the created graph. This value must be strictly greater than one.
mu – Fraction of intra-community edges incident to each node. This value must be in the interval [0, 1].
average_degree – Desired average degree of nodes in the created graph. This value must be in the interval [0, n]. Exactly one of this and min_degree must be specified, otherwise a NetworkXError is raised.
min_degree – Minimum degree of nodes in the created graph. This value must be in the interval [0, n]. Exactly one of this and average_degree must be specified, otherwise a NetworkXError is raised.
max_degree – Maximum degree of nodes in the created graph. If not specified, this is set to n, the total number of nodes in the graph.
min_community – Minimum size of communities in the graph. If not specified, this is set to min_degree.
max_community – Maximum size of communities in the graph. If not specified, this is set to n, the total number of nodes in the graph.
tol – Tolerance when comparing floats, specifically when comparing average degree values.
max_iters – Maximum number of iterations to try to create the community sizes, degree distribution, and community affiliations.
seed – (integer, random_state, or None (default)) – Indicator of random number generation state. See Randomness.
- Returns:
A networkx synthetic graph, the set of communities (NodeClustering object)
- Example:
>>> from cdlib.benchmark import LFR >>> n = 250 >>> tau1 = 3 >>> tau2 = 1.5 >>> mu = 0.1 >>> G, coms = LFR(n, tau1, tau2, mu, average_degree=5, min_community=20)
- References:
Andrea Lancichinetti, Santo Fortunato, and Filippo Radicchi. “Benchmark graphs for testing community detection algorithms”, Phys. Rev. E 78, 046110 2008