cdlib.evaluation.flake_odf

cdlib.evaluation.flake_odf(graph: Graph, community: object, summary: bool = True) object

在S中,指向社区内部的边数少于指向社区外部的边数的节点比例。

\[f(S) = \frac{| \{ u:u \in S,| \{(u,v) \in E: v \in S \}| < d(u)/2 \}|}{n_S}\]

其中 \(E\) 是图的边集,\(v\)\(S\) 中的一个节点,\(d(u)\)\(u\) 的度数,\(n_S\) 是社区节点的集合。

Parameters:
  • graph – 一个 networkx/igraph 对象

  • 社区 – NodeClustering 对象

  • summary – 布尔值。如果为True,则返回分区的聚合分数,否则返回单个社区的分数。默认值为True

Returns:

如果 summary==True 则返回一个 FitnessResult 对象,否则返回一个浮点数列表。

示例:

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

  1. Flake, G.W., Lawrence, S., Giles, C.L., 等人: 网络社区的高效识别。在: KDD, 卷 2000, 页 150–160 (2000)