加权图问题的PageRank

时间:2018-04-02 12:32:34

标签: pagerank weighted-graph

我有一个关于PageRank如何显示“体重”影响的问题。我想用贸易价值作为权重来计算贸易国家的PageRank,我的代码如下所示。但我发现结果与未加权的结果相同。我不知道为什么。

有人可以帮我理解如何在PageRank计算中显示“重量”吗?

using Excel = Microsoft.Office.Interop.Excel;

private void button1_Click(object sender, EventArgs e)
{
    ofd.Filter = "xlsx|*.xlsx|xls|*.xls";

    if(ofd.ShowDialog() == DialogResult.OK)
    {
        textBox2.Text = ofd.FileName;
        Excel.Application excel = new Excel.Application();
        Excel.Workbook wb = excel.Workbooks.Open(textBox2.Text);
        Excel.Worksheet ws = wb.Sheets[1];
        Excel.Range xlRange = ws.Cells[0, 0];
        Debug.WriteLine("===" + xlRange.Interior.Color);
    }
}

1 个答案:

答案 0 :(得分:0)

我是在自己寻找答案之后才遇到这个问题的。对我有用的是简单地在Pagerank参数旁边添加weight = True命令,例如为网络中所有节点建立页面排名得分:

ORIENTATION

唯一的问题可能是您使用与我不同的方法来读取边缘列表。我建议使用nx.read_weighted_edgelist功能加载图形的节点和边缘数据。您的excel文件应包含三列,其中包含源节点,目标节点和边缘权重的相邻值(不包括标题,并以.csv格式保存)。然后,您可以使用以下命令加载数据,以确保它可以与pagerank一起正常工作:

pagerank_dict = dict(nx.pagerank(G, weight=True)