pagerank#
- pagerank(G, alpha=0.85, personalization=None, max_iter=100, tol=1e-06, nstart=None, weight='weight', dangling=None)[source]#
返回图中节点的 PageRank 值。
PageRank 根据传入链接的结构计算图 G 中节点的排名。它最初被设计为一种对网页进行排名的算法。
- 参数:
- G图
一个 NetworkX 图。无向图将被转换为有向图,其中每条无向边对应两条有向边。
- alphafloat,可选
PageRank 的阻尼参数,默认为 0.85。
- personalization: dict,可选
“个性化向量”,由一个字典组成,其中键是图节点的一个子集,值是每个节点的个性化值。至少一个个性化值必须非零。如果未指定,节点的个性化值将为零。默认情况下使用均匀分布。
- max_iter整数,可选
幂法特征值求解器的最大迭代次数。
- tolfloat,可选
用于检查幂法求解器收敛的误差容限。当误差达到
len(G) * tol
时,迭代将停止。- nstart字典,可选
每个节点 PageRank 迭代的起始值。
- weight键,可选
用作权重的边数据键。如果为 None,则权重设置为 1。
- dangling: dict,可选
分配给任何“悬空”节点(即没有出边的节点)的出边。字典的键是出边指向的节点,字典的值是该出边的权重。默认情况下,根据个性化向量(如果未指定则为均匀分布)为悬空节点分配出边。必须选择此项以产生不可约的转移矩阵(参见 google_matrix 下的注释)。通常,dangling 字典可以与 personalization 字典相同。
- 返回:
- pagerank字典
节点的 PageRank 值字典
- 抛出:
- PowerIterationFailedConvergence
如果在幂法迭代指定的迭代次数内算法未能收敛到指定的容差。
注释
特征向量的计算通过幂法完成,不保证收敛。当误差容限达到
len(G) * tol
时,迭代将停止。如果迭代次数超过max_iter
,则会抛出networkx.exception.PowerIterationFailedConvergence
异常。PageRank 算法是为有向图设计的,但此算法不检查输入图是否为有向图,它将通过将无向图中的每条边转换为两条有向边来在无向图上执行。
参考文献
[1]A. Langville 和 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 和 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) ----