【问题标题】:different community detection algorithms - very different results不同的社区检测算法 - 非常不同的结果
【发布时间】:2020-12-16 05:49:06
【问题描述】:

我正在执行社区级别的网络分析,并且我正在尝试检测我网络中的社区。我使用了三种不同的算法

(1) 基于边缘介数的社区检测 (Newman-Girvan) - 检测到:50 个社区,模块化 0.1

ceb <- cluster_edge_betweenness(net) 
dendPlot(ceb, mode = "hclust")
plot(ceb, net, vertex.label = NA, edge.label = NA)

(2)基于传播标签的社区检测——检测4个社区,模块化0.4

clp <- cluster_label_prop(net)
plot(clp, net, vertex.label = NA, edge.label = NA)

(3)基于模块化贪婪优化的社区检测——检测5个社区,模块化

cfg <- cluster_fast_greedy(as.undirected(net))
plot(cfg, net, vertex.label = NA, edge.label = NA)

在我的数据中,我有在 5 个不同部门工作的员工(节点)。有 5 个社区是有意义的,更高的模块化(我认为)表明它比第一个结果(50 个社区)更好。但我真的不确定如何解释这种不同的结果。任何人都可以解释一下吗?非常感谢

【问题讨论】:

    标签: cluster-analysis igraph modularity sna network-analysis


    【解决方案1】:

    我不完全确定你在这里问的是什么,但让我大致了解一下。模块化分数反映了特定聚类算法在聚类顶点方面的表现。产生具有较高模块化分数的聚类结构的聚类算法比那些产生较低模块化分数的聚类算法“更好”。如果您在同一个网络中拥有三种不同的聚类算法,那么具有最高模块化分数的算法将是更好的选择,前提是它具有概念意义。据我了解,igraph 中的聚类算法是这样生成的,它们生成的聚类结构对于所讨论的网络的算法来说具有最佳的模块化得分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-03
      • 2021-09-28
      • 1970-01-01
      • 2020-09-06
      • 2012-08-19
      • 2017-12-07
      • 2019-01-26
      • 2013-04-28
      相关资源
      最近更新 更多