within_inter_cluster#
- within_inter_cluster(G, ebunch=None, delta=0.001, community='community')[源代码]#
计算ebunch中所有节点对的簇内和簇间公共邻居的比率。
对于两个节点
u
和v
,如果是共同的邻居w
和它们属于同一个社区,w
被视为群集中的公共邻居u
和v
。否则,它将被视为的群集间公共邻居u
和v
。集群内和集群间公共邻居集合的大小之间的比率被定义为WIC度量。 [1]- 参数
- G图表
网络X无向图。
- ebunch节点对的可迭代,可选(默认=无)
将为迭代表中给出的每对节点计算WIC度量。这些对必须以2元组(u,v)的形式给出,其中u和v是图中的节点。如果eBunch为None,则将使用图形中所有不存在的边。默认值:无。
- delta浮点,可选(默认值=0.001)
值以防止在两个节点之间没有群集间公共邻居的情况下除以零。看见 [1] 了解更多细节。默认值:0.001。
- community字符串,可选(默认为‘社区’)
包含社区信息的节点属性名称。G [u] [社区] 标识您属于哪个社区。每个节点最多属于一个社区。缺省值:‘社区’。
- 返回
- piter迭代器
形式为(u,v,p)的三元组迭代器,其中(u,v)是一对节点,p是它们的WIC度量。
工具书类
- 1(1,2)
Jorge Carlos Valverde Rebaza和Alneu de Andrade Lopes。基于聚类信息的复杂网络链路预测。第21届巴西人工智能进展会议记录(SBIA'12)https://doi.org/10.1007/978-3-642-34459-6_10
实例
>>> G = nx.Graph() >>> G.add_edges_from([(0, 1), (0, 2), (0, 3), (1, 4), (2, 4), (3, 4)]) >>> G.nodes[0]["community"] = 0 >>> G.nodes[1]["community"] = 1 >>> G.nodes[2]["community"] = 0 >>> G.nodes[3]["community"] = 0 >>> G.nodes[4]["community"] = 0 >>> preds = nx.within_inter_cluster(G, [(0, 4)]) >>> for u, v, p in preds: ... print(f"({u}, {v}) -> {p:.8f}") (0, 4) -> 1.99800200 >>> preds = nx.within_inter_cluster(G, [(0, 4)], delta=0.5) >>> for u, v, p in preds: ... print(f"({u}, {v}) -> {p:.8f}") (0, 4) -> 1.33333333