generate_random_paths#
- generate_random_paths(G, sample_size, path_length=5, index_map=None, weight='weight', seed=None)[source]#
随机生成
sample_size
条长度为path_length
的路径。- Parameters:
- GNetworkX 图
一个 NetworkX 图
- sample_size整数
要生成的路径数量。这在 [1] 中为
R
。- path_length整数 (默认 = 5)
随机生成的路径的最大长度。 这在 [1] 中为
T
。根据论文,建议T >= 5
。- index_map字典, 可选
如果提供,这将填充为节点到生成的随机路径索引的反向索引映射。
- weight字符串或 None, 可选 (默认=”weight”)
边属性的名称,该属性持有作为权重的数值。如果为 None,则每条边的权重为 1。
- seed整数, random_state, 或 None (默认)
随机数生成状态的指示器。 参见 Randomness 。
- Returns:
- paths列表生成器
sample_size
条路径的生成器,每条路径长度为path_length
。
References
[1] (1,2)Zhang, J., Tang, J., Ma, C., Tong, H., Jing, Y., & Li, J. Panther: Fast top-k similarity search on large networks. In Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (Vol. 2015-August, pp. 1445–1454). Association for Computing Machinery. https://doi.org/10.1145/2783258.2783267.
Examples
注意返回值是路径列表:
>>> G = nx.star_graph(3) >>> random_path = nx.generate_random_paths(G, 2)
通过传递一个字典到
index_map
,它将构建一个节点到包含该节点的路径的反向索引映射:>>> G = nx.star_graph(3) >>> index_map = {} >>> random_path = nx.generate_random_paths(G, 3, index_map=index_map) >>> paths_containing_node_0 = [ ... random_path[path_idx] for path_idx in index_map.get(0, []) ... ]