没有得到正确的标签 Graphframe LPA



我正在使用Graphframe LPA来查找社区,但不知何故它没有给我预期的结果

graph_data = spark.createDataFrame([
("a", "d", "friend"),
("b", "d", "friend"),
("c", "d", "friend")
], ["src", "dst", "relationship"])

在这里,我的要求是为所有顶点 a、b、c 和 d 获取单个社区 ID,但我得到了两个不同的社区 ID,一个用于 a、b、c,一个用于 d 法典:

df1 = graph_data.selectExpr('src AS id')
df2 = graph_data.selectExpr('dst AS id')
vertices = df1.union(df2)
vertices = vertices.distinct()
edges = graph_data
g = GraphFrame(vertices, edges)
communities = g.labelPropagation(maxIter=5) 

鉴于d是一个根,它有一个单独的标签。若要完成单个标签,建议改用连接的组件,请参阅文档。

communities = g.connectedComponents()

注意:需要事先设置检查点目录。

sc.setCheckpointDir("some_path")

相关内容

  • 没有找到相关文章

最新更新