【发布时间】:2013-12-04 01:09:29
【问题描述】:
我正在使用 igraph 包中的 InfoMap 算法在有向和非加权图(34943 个顶点,206366 个边)上执行社区检测。在图中,顶点代表网站,边代表网站之间是否存在超链接。
我在运行算法后遇到的一个问题是,大多数顶点都属于一个庞大的社区(32920 或 94%)。其余的顶点分散到数百个其他小社区。p>
我尝试了使用 nb.trials 参数的不同设置(即 50、100,现在运行 500)。但是,这似乎并没有改变结果。
由于算法的运行时间非常长,我感到非常恼火,所以我每次都必须等待结果(还没有运气!!)。
非常感谢。
【问题讨论】:
-
您是否尝试过可视化图表来查看您期望的社区结构类型?也许尝试整个网络的热图,或者生成的社区结构的圆形图——这将帮助您确定找到的社区结构是否正确,或者检测算法是否做得不好(并给您一个想法从那里去哪里)。
-
嗨@Manetheran,感谢您的建议。我以前没有使用过热图或圆形图。你能指点我正确的包或功能吗?谢谢。
-
我会说,尝试其他方法,看看这些结果是否有意义。只是为了确保它不是实现中的错误。
-
@timothyjgraham 大多数社区检测方法仅支持无向图的原因之一是不清楚社区在有向图中的含义。 InfoMap 算法说,当您在图上执行随机游走时,社区是难以逃脱的东西,因此对于有向图是有意义的。基于模块化的算法说,社区是一个子图,其中的边比具有相同度数分布的随机图所期望的要多 - 但请注意,这完全忽略了边的方向。
-
我在这里玩游戏有点晚了,但也试试
multilevel.community。它可以扩展到相当大的图表(我目前正在一个有 250 万条边的图表上使用它)。它还为您提供了社区层次结构,因此您不仅限于它选择的具有最高模块化的单一结果。