gpt4 book ai didi

r - 使用 InfoMap 算法进行社区检测,产生一个庞大的模块

转载 作者:行者123 更新时间:2023-12-04 06:03:33 25 4
gpt4 key购买 nike

我在 igraph 中使用 InfoMap 算法包在有向和非加权图(34943 个顶点,206366 个边)上执行社区检测。在图中,顶点代表网站,边代表网站之间是否存在超链接。

我在运行该算法后遇到的一个问题是,大多数顶点都属于一个庞大的社区(32920 或 94%)。其余的顶点分散到数百个其他小社区中。

我用 nb.trials 尝试了不同的设置参数(即 50、100,现在运行 500)。但是,这似乎并没有太大改变结果。

我感到相当恼火,因为算法的运行时间非常长,所以我每次都必须等待结果(还没有运气!!)。

非常感谢。

最佳答案

我打算把它放在评论中,但它最终太长而且很难以这种格式阅读,所以这是一个切线相关的答案。

您应该做的一件事是评估算法在寻找社区结构方面是否做得很好。您可以尝试可视化您的网络以建立:

  • 算法返回的社区结构是否有意义?也许有一个庞大的社区?
  • 如果不是,可视化是否提供了关于为什么的洞察力?

  • 这将有助于告知您接下来的步骤。也许网络的结构需要不同的算法?

    我发现对大型网络有用的一件事是将边缘绘制为热图。如果您将边缘存储在邻接矩阵中,这很容易做到。

    为此,您可以使用 image函数,传入你的边矩阵作为参数 z .希望这将使您能够直观地看到社区结构。

    但是,您还想评估算法的正确性,因此您想按节点(邻接矩阵的行和列)分配给它们的社区对它们进行排序。

    另一件需要注意的是,如果您的边缘是定向的,则可能更难以通过肉眼评估,因为边缘可能出现在热图对角线的任一侧。您可以做的一件事是绘制 underlying graph - 这是假设您的边缘是无向的邻接矩阵。

    如果你的算法做得很好,你会期望看到沿对角线的方 block ,每个检测到的社区都有一个方 block 。

    关于r - 使用 InfoMap 算法进行社区检测,产生一个庞大的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20364939/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com