我正在尝试找到一种以自上而下的方式查找网络社区的方法。大多数可用的算法(例如在 igraph 包中)都是自下而上的——也就是说,它们首先假设所有节点都是单例社区,然后将它们组合成更大的社区。我想换一种方式,类似于构建决策树的方式:从整个网络开始,然后找到一个改进某些“信息度量”等的拆分。
有人知道这样的算法或这样的措施吗?我在文献中找不到这样的内容,但也许我遗漏了什么。
此外,模块化的一些措施让我感到困扰的是,如果您将整个网络视为一个模块,那么所有边都在模块内并且不存在模块外边,因此这似乎是一个完美的模块划分.有没有克服这个限制的措施?
最佳答案
我认为Newman's algorithm满足您的要求。
它的工作原理是计算“网络模块化”,然后将网络分成两组。之后,它递归地将相同的原则应用于新形成的组,直到不可能进一步增加模块化。
在igraph
中应该也有实现。至少在 r version .
关于algorithm - 网络中自上而下的社区检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30970640/