generate_random_paths#
- generate_random_paths(G, sample_size, path_length=5, index_map=None, weight='weight', seed=None)[source]#
随机生成
sample_size
条长度为path_length
的路径。- 参数:
- GNetworkX 图
一个 NetworkX 图
- sample_size整型
要生成的路径数量。这在 [1] 中是
R
。- path_length整型 (默认值 = 5)
随机生成的路径的最大长度。这在 [1] 中是
T
。根据论文,建议T >= 5
。- index_map字典, 可选
如果提供,这将填充一个反向索引,将节点映射到
paths
中生成的随机路径索引集合。- weight字符串或 None, 可选 (默认值=”weight”)
作为权重的边属性名称,该属性存储数值。如果为 None,则每条边的权重为 1。
- seed整型, random_state, 或 None (默认值)
随机数生成状态的指示符。参阅 随机性。
- 返回值:
- paths列表生成器
生成器,生成
sample_size
条路径,每条路径长度为path_length
。
参考文献
[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.
示例
请注意,返回值是路径列表
>>> 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, []) ... ]