cdlib.evaluation.modularity_overlap

cdlib.evaluation.modularity_overlap(graph: Graph, communities: object, weight: str | None = None) FitnessResult

确定图G上分区C的重叠模块性。

重叠模块性定义为

\[M_{c_{r}}^{ov} = \sum_{i \in c_{r}} \frac{\sum_{j \in c_{r}, i \neq j}a_{ij} - \sum_{j \not \in c_{r}}a_{ij}}{d_{i} \cdot s_{i}} \cdot \frac{n_{c_{r}}^{e}}{n_{c_{r}} \cdot \binom{n_{c_{r}}}{2}}\]
Parameters:
  • graph – 一个 networkx/igraph 对象

  • communities – NodeClustering 对象

  • weight – 标识边权重参数名称的标签(如果存在),默认为 None

Returns:

FitnessResult 对象

示例:

>>> from cdlib.algorithms import louvain
>>> from cdlib import evaluation
>>> g = nx.karate_club_graph()
>>> communities = louvain(g)
>>> mod = evaluation.modularity_overlap(g, communities)
References:

    1. Lazar, D. Abel 和 T. Vicsek, “具有重叠社区网络的模块化度量” EPL, 90 (2010) 18001 doi: 10.1209/0295-5075/90/18001