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, [])
... ]