如何解决如何从networkx的Louvain社区检测算法获取真实的树状图?
真实的树状图是一棵树,您可以在其中确定所需的分区数。但是出于某种原因,networkx自己的implemetation仅返回“最佳分区”。因此,如果该算法认为最佳分区由四个不同的社区组成,则该分区也位于树状图的第二高级别。
从理论上讲,可以选择使用Louvain的社区数,但是当前的实现不允许这样做。有什么不错的技巧可以解决这个问题,还是我真的需要再次发明轮子并自己重新实现?
解决方法
可以通过community.generate_dendrogram访问Louvain树状图,并且应该具有所有分区合并,直到达到最佳分区为止(即,任何进一步的合并都会降低模块性)。 networkx louvain基于GitHub上的python-louvain包,因此您可以在此处关注更多问题和讨论。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。