非随机性#
- non_randomness(G, k=None, weight='weight')[source]#
计算图 G 的非随机性。
第一个返回的值 nr 是图中所有边的非随机性值之和(当一条边连接的两个节点来自不同的社区时,该边的非随机性往往很小)。
第二个计算值 nr_rd 是一个相对度量,表示图 G 在概率上与随机图的差异程度。当它接近 0 时,该图更可能由 Erdos Renyi 模型生成。
- 参数:
- GNetworkX 图
图必须是对称、连通且没有自环的。
- kint
G 中的社区数量。如果未设置 k,函数将使用默认的社区检测算法来设置它。
- weight字符串或 None,可选(默认为 None)
用作权重的边的属性名称。如果为 None,则每条边的权重为 1,即图是二元的。
- 返回:
- 非随机性(float, float) 元组
非随机性,相对于 Erdos Renyi 随机图的相对非随机性。
- 抛出:
- NetworkXException
如果输入图不连通。
- NetworkXError
如果输入图包含自环或图没有边。
注意
这计算了参考文献 [1] 中的公式 (4.4) 和 (4.5)。
如果传入 weight 字段,该算法将使用加权邻接矩阵的特征值来计算公式 (4.4) 和 (4.5)。
参考文献
[1]Xiaowei Ying and Xintao Wu, On Randomness Measures for Social Networks, SIAM International Conference on Data Mining. 2009
示例
>>> G = nx.karate_club_graph() >>> nr, nr_rd = nx.non_randomness(G, 2) >>> nr, nr_rd = nx.non_randomness(G, 2, "weight")