python隶属关系图模型:基于模型的网络中密集重叠社区检测方法
2020-04-02 本文已影响0人
拓端tecdat
隶属关系图模型 是一种生成模型,可通过社区联系产生网络。下图描述了一个两方社区隶属关系图和一个网络的示例(图1)。
图1.左:两方社区关系图(圆形节点表示三个社区,正方形节点代表网络的节点),右:AGM生成的网络,社区关系图在左侧
need-to-insert-img
当我们使用适合于实际网络的 合成网络时,合成网络具有与真实网络非常相似的特征(图2)。
图2.边缘概率是Orkut网络中常见社区成员数量的函数。
need-to-insert-img
进行社区检测
如果用户指定了用户要检测的社区数量,则 会找到相应的社区数量。如果用户未假定某个概率,则 使用(1 / N ^ 2),其中N是图中的节点数。
例子
我们展示了一些由隶属关系图模型和基础网络检测到的社区的示例。
图创建
如何创建和使用有向图的示例:
# create a graph PNGraph G1 = snap.TNGraph.New() G1.AddNode(1) G1.AddNode(5) G1.AddNode(32) G1.AddEdge(1,5) G1.AddEdge(5,1) G1.AddEdge(5,32)
need-to-insert-img
用于保存和加载图形的 代码如下所示: