0

このリンク ( Networkx PageRank - Equal Ranks with Different Weights )で表現されているのと同じ問題に直面しています。

基本的に、グラフのページランクを計算するために networkx を使用しています。したがって、ページランクの計算では、最初にグラフが右確率行列に変換されます (すべての出力エッジが 1 に正規化されます)。

私が必要としているのは、エッジの重みを正規化しない方法です。したがって、1 つのノードが重み 0.1 の 1 つの発信エッジのみであり、別のノードが重み 0.05 の発信エッジを 1 つしか持たない場合、この情報をページランクの計算に使用する必要があります (それぞれ 1 に正規化するのではなく)。

これを達成するためにページランクを変更する正しい方法を知っている人はいますか?

前もってありがとう、アミット

4

2 に答える 2

-1

確率論的ではないグラフがあります (つまり、エッジの重みはノード間で絶対的で一貫しています)。初期行列を正しい確率行列に変換しないように、networkx の pagerank 実装を変更したため、正しい答えが得られました。ただし、これは、エッジの合計が 1 を超える場合があるため、ページランクが収束しないことを意味しますが、通常、30 ~ 40 回の反復の後、ランキングはかなり一貫しています。

本質的に、networkx コード (algorithms/link_analysis/pagerank_alg.py) からこの行を削除すると、次のようになります。

W = x.stochastic_graph(D, weight=weight)

于 2014-10-21T15:21:13.783 に答える