如何将权重分解为networkx的pagerank算法?

时间:2012-01-25 20:46:25

标签: algorithm graph-theory networkx

我认为我现在正在低效率地做这件事,并想要一个如何做得更好的建议。目前我有一个有向图并使用节点特定因子(即分析节点然后将分数分配给两者之间的边缘)。我有很多因素并且不断改变边缘的重量(在我的情况下,重量越高越好)。

但那些是特定于节点的,我也想利用图的结构来进行推理(更多边缘应该给节点更好的排名等等)。

我的问题是这些是正在发生的两个不同的过程,我想看看我是否能够以某种方式将两者结合起来进行推理。现在,我正在我的节点上运行pagerank(我的每一组节点都是分开的,所以我在整个数据集上运行pagerank然后只捕获当天的结果),然后获取当前日的pagerank分数并将它们添加到从各个边到节点的所有权重的总和。它有点令人困惑,我想知道是否有另一种方式,或者我是否可以获得pagerank来考虑边缘权重(或其他东西..我可以轻松修改程序)?

我对当前方法的恐惧是因为我添加了更多因素来研究每个节点,分数将增加(每个节点在0-1之间添加一个值),但是pagerank得分保持很小,所以如果aa节点得分为25和.034的pagerank,然后相对于pagerank得分将不会在图表推断中发挥重要作用。

任何帮助或建议都会很棒。我已经对图表做了一些阅读,但我仍然是一个n00b所以请更正我所做的任何不正确的假设。此外,如果它有帮助,我正在为我的图形使用python和networkx库。

1 个答案:

答案 0 :(得分:2)

如果您的主要关注点是节点分数和页面排名之间的相对权重,那么您是否只能改变其权重以获得适当的平衡?例如,如果您使用平均值,而不是将得分因子相加,那么因素的数量就不会成为问题。