在https://docs.databricks.com/spark/latest/graph-analysis/graphframes/user-guide-scala.html标准示例中:
我想念什么? [A,D,E]从数据来看,我也会认为也是一个社区,其结果将是相似的。我尝试了更多的周期。标签传播似乎是“聚类”的可怜表亲。
答案 0 :(得分:2)
您在这里发现的是称为标签振荡的已知现象,当标签被同步更新并且(子)图形具有二部结构(或星形图)时,就会发生这种现象。这两个社区将无休止地交换其标签,LPA将永远不会自行终止。
...等等。
正如您已经提到的那样,这实际上不是我们期望的社区检测算法所期望的,因为社区内没有边缘。但这仍然是一种快速算法,可以为非二分体结构提供良好的结果。 Raghavan提出了一种使用异步更新的快速替代方法。但这尚未在Graphframes中实现。 Graphframes调用LPA的graphX实现(请看代码code),该实现使用同步的Pregel(请看代码code)。
除了两部分结构的LPA问题外,SCC和LPA之间还存在一般差异: