我试图找到一种以自上而下的方式查找网络社区的方法。大多数可用的算法(例如在igraph包中)都在自下而上 - 也就是说它们首先假设所有节点都是单一社区,然后将它们组合到更大的社区。我想要反过来,类似于如何构建决策树:从整个网络开始,然后找到一个改进某些"信息量度"等的分割。
有谁知道这样的算法或这样的措施?我在文献中找不到这样的内容,但也许我错过了一些东西。
另外,使用模块化的一些措施让我感到困扰的是,如果你将整个网络视为一个模块,那么所有边都在模块内,并且不存在模块外边缘,所以这看起来像是模块的完美分区。有没有措施克服这种限制?
答案 0 :(得分:2)
我认为Newman's algorithm符合您的要求。
它的工作原理是计算“网络模块化”,然后将网络分成两组。之后,它递归地将相同的原理应用于新形成的组,直到模块化不再进一步增加为止。
它也应该在igraph
中实施。至少在r version。