当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX pagerank用法及代码示例


本文简要介绍 networkx.algorithms.link_analysis.pagerank_alg.pagerank 的用法。

返回图中节点的PageRank。

PageRank 根据传入链接的结构计算图 G 中节点的排名。它最初被设计为一种对网页进行排名的算法。

参数

G图形

NetworkX 图表。无向图将转换为每个无向边有两条有向边的有向图。

alpha浮点数,可选

PageRank 的阻尼参数,默认 = 0.85。

personalization: dict, optional

“personalization vector” 由一个字典组成,其中一个键是图形节点的一些子集和每个节点的个性化值。至少一个个性化值必须非零。如果未指定,节点个性化值将为零。默认情况下,使用均匀分布。

max_iter整数,可选

幂法特征值求解器中的最大迭代次数。

tol浮点数,可选

误差容限用于检查幂法求解器的收敛性。

nstart字典,可选

每个节点的PageRank 迭代的起始值。

weight键,可选

用作权重的边数据键。如果 None 权重设置为 1。

dangling: dict, optional

要分配给任何 “dangling” 节点的外边,即没有任何外边的节点。 dict键是outedge指向的节点,dict value是outedge的权重。默认情况下,根据个性化向量(如果未指定,则统一)为悬空节点提供外边。必须选择此选项以产生不可约的转移矩阵(参见google_matrix 下的注释)。悬空字典与个性化字典相同可能很常见。

返回

pagerank字典

以 PageRank 为值的节点字典

抛出

PowerIterationFailedConvergence

如果算法在幂迭代法的指定迭代次数内未能收敛到指定的容差。

注意

特征向量计算是通过幂迭代法完成的,不能保证收敛。达到len(G) * tol 的容错后,迭代将停止。如果迭代次数超过 max_iter ,则会引发 networkx.exception.PowerIterationFailedConvergence 异常。

PageRank 算法是为有向图设计的,但该算法不检查输入图是否有向,而是通过将有向图中的每条边转换为两条边来在无向图上执行。

参考

1

A. Langville and C. Meyer, “A survey of eigenvector methods of web information retrieval.” http://citeseer.ist.psu.edu/713792.html

2

Page, Lawrence; Brin, Sergey; Motwani, Rajeev and Winograd, Terry, The PageRank citation ranking: Bringing order to the Web. 1999 http://dbpubs.stanford.edu:8090/pub/showDoc.Fulltext?lang=en&doc=1999-66&format=pdf

例子

>>> G = nx.DiGraph(nx.path_graph(4))
>>> pr = nx.pagerank(G, alpha=0.9)

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.link_analysis.pagerank_alg.pagerank。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。