Apache spark 火花图形框架-标签传播与强连接组件
在标准示例中:Apache spark 火花图形框架-标签传播与强连接组件,apache-spark,graphframes,Apache Spark,Graphframes,在标准示例中: 当在图形上直观地查看强连接组件时,它们在计算上似乎是合理的 因此,我对检测“社区”的标签传播感到惊讶 我错过了什么?[A,D,E]从数据来看,我认为这也是一个社区,结果也会相似。我尝试了更多的循环。标签传播似乎是“集群”的近亲。您在这里发现的是一种称为标签振荡的已知现象,它发生在标签同步更新且(子)图具有二部结构(或星形图)时。这两个社区将无休止地交换他们的标签,LPA将永远不会自行终止 t处的标签: t+1处的标签: t+2处的标签: 。。。等等 正如您已经提
- 当在图形上直观地查看强连接组件时,它们在计算上似乎是合理的
- 因此,我对检测“社区”的标签传播感到惊讶
我错过了什么?[A,D,E]从数据来看,我认为这也是一个社区,结果也会相似。我尝试了更多的循环。标签传播似乎是“集群”的近亲。您在这里发现的是一种称为标签振荡的已知现象,它发生在标签同步更新且(子)图具有二部结构(或星形图)时。这两个社区将无休止地交换他们的标签,LPA将永远不会自行终止 t处的标签: t+1处的标签: t+2处的标签: 。。。等等 正如您已经提到的,这并不是我们期望的社区检测算法,因为社区中没有边缘。但这仍然是一种快速算法,对于非二部结构可以提供良好的结果。提出了一种使用异步更新的快速替代方案。但这还没有在图形框架中实现。Graphframes调用LPA(查看代码)的graphX实现,该实现使用同步的Pregel(查看代码) 除了二部结构的LPA问题外,SCC和LPA之间还有一个一般性的区别:
- SCC社区:社区中的每个节点都知道(有一个边缘)社区中的所有其他节点李>
- LPA社区:对于社区的每个节点,都有一条路径 社区中的(边序列)到社区中的所有其他节点 社区