Networkx查找有向图的社区

时间:2015-06-02 18:56:59

标签: python graph-theory networkx

我目前正在绘制和可视化定向社交网络。在一个名为Gephi(http://gephi.github.io/)的开源可视化工具中有一个统计(模块化),它允许我通过将节点分成社区来对节点进行分区。

我想用之前的图形完成这项任务(找到社区)我用Gephi将其可视化,以便我可以对算法找到的每个社区运行各种统计数据。

但是,我找到的每个社区算法都不能在有向图上运行。我找到了两种不同的算法,它们不适用于diGraphs:

  1. Aynaud基于http://perso.crans.org/aynaud/communities/api.html
  2. 的树状图的社区算法
  3. NetworkX自己在https://networkx.github.io/documentation/latest/reference/generated/networkx.algorithms.community.kclique.k_clique_communities.html
  4. 找到k cliques

    这提出了几个问题,即:

    1. 这是我想要使用的社区搜索算法类型的限制吗?
    2. 如果是这样,Gephi是否在寻找社区之前通过删除图表的方向性来使用其算法?
    3. 我还应该寻找其他算法吗?
    4. 是否有其他库已经解决了?
    5. 谢谢!

1 个答案:

答案 0 :(得分:2)

机器学习中有几种算法可以将节点分组。通常,有一些数据或节点名称使节点与一个或另一个组的一部分区别开来。除了链接数量(这是一种在pagerank算法中使用的计算数据类型)之外,可能还有其他方法来分解节点。根据支持向量机或诸如随机森林之类的集合方法等标准,有几种方法可以尝试。还有一些方法可以使用主成分分析来降低数据的维度。 scikit-learn页面上有一些优秀的文档。 http://scikit-learn.org/stable/documentation.html