當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。