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