当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX within_inter_cluster用法及代码示例


本文简要介绍 networkx.algorithms.link_prediction.within_inter_cluster 的用法。

计算 ebunch 中所有节点对的内和 inter-cluster 公共邻居的比率。

对于两个节点 uv ,如果公共邻居 w 与它们属于同一社区,则 w 被视为 uv 的簇内公共邻居。否则,它被视为 uv 的 inter-cluster 共同邻居。内部和 inter-cluster 公共邻居集合的大小之间的比率定义为 WIC 度量。 [1]

参数

G图形

NetworkX 无向图。

ebunch节点对的可迭代,可选(默认 = 无)

将为迭代中给定的每对节点计算 WIC 度量。这些对必须以 2 元组 (u, v) 的形式给出,其中 u 和 v 是图中的节点。如果 ebunch 为 None 则将使用图中所有不存在的边。默认值:无。

delta浮点数,可选(默认 = 0.001)

在两个节点之间没有 inter-cluster 公共邻居的情况下防止被零除的值。详细信息请参见[1]。默认值:0.001。

community字符串,可选(默认 = ‘community’)

包含社区信息的节点属性名称。 G[u][community] 标识 u 属于哪个社区。每个节点最多属于一个社区。默认值:‘community’。

返回

piter迭代器

(u, v, p) 形式的 3 元组迭代器,其中 (u, v) 是一对节点,p 是它们的 WIC 度量。

参考

1(1,2)

Jorge Carlos Valverde-Rebaza and Alneu de Andrade Lopes. Link prediction in complex networks based on cluster information. In Proceedings of the 21st Brazilian conference on Advances in Artificial Intelligence (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

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.link_prediction.within_inter_cluster。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。