random_partition_graph#

random_partition_graph(sizes, p_in, p_out, seed=None, directed=False)[source]#

返回具有给定大小分区的随机分区图。

分区图是一个社区图,其社区大小由 sizes 中的 s 定义。同一组中的节点以概率 p_in 连接,不同组中的节点以概率 p_out 连接。

参数
sizes整型列表

组的大小

p_in浮点数

组内边的概率

p_out浮点数

组间边的概率

directed布尔值 可选,默认为 False

是否创建有向图

seed整型、random_state 或 None(默认)

随机数生成状态指示器。参见 随机性

返回
GNetworkX Graph 或 DiGraph

大小为 sum(gs) 的随机分区图

引发
NetworkXError

如果 p_in 或 p_out 不在 [0,1] 范围内

注意

这是对 [1] 中描述的 planted-l-partition 的泛化。它允许创建任意大小的组。

分区存储为图属性 'partition'。

参考文献

[1]

Santo Fortunato ‘Community Detection in Graphs’ Physical Reports Volume 486, Issue 3-5 p. 75-174. https://arxiv.org/abs/0906.0612

示例

>>> G = nx.random_partition_graph([10, 10, 10], 0.25, 0.01)
>>> len(G)
30
>>> partition = G.graph["partition"]
>>> len(partition)
3