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


Python NetworkX overlap_weighted_projected_graph用法及代碼示例

本文簡要介紹 networkx.algorithms.bipartite.projection.overlap_weighted_projected_graph 的用法。

用法:

overlap_weighted_projected_graph(B, nodes, jaccard=True)

將 B 的加權投影重疊到其節點集之一上。

重疊加權投影是二分網絡 B 到指定節點的投影,其權重代表原始二分網絡中兩個節點鄰域之間的 Jaccard index [1]:

或者如果參數 ‘jaccard’ 為 False,則公共鄰居的分數除以原始二部圖中兩個節點度數的最小值 [1]:

如果與原始二分圖中的公共節點有邊,則節點保留其屬性並在結果圖中連接。

參數

BNetworkX 圖

輸入圖應該是二分圖。

nodes列表或可迭代

要投影到的節點(“bottom” 節點)。

jaccard: Bool (default=True)

返回

GraphNetworkX 圖

投影到給定節點上的圖。

注意

沒有嘗試驗證輸入圖 B 是否為二分圖。圖和節點屬性(淺)複製到投影圖。

有關如何在 NetworkX 中處理二分圖的更多詳細信息,請參閱 bipartite documentation

參考

1(1,2)

Borgatti, S.P. and Halgin, D. In press. Analyzing Affiliation Networks. In Carrington, P. and Scott, J. (eds) The Sage Handbook of Social Network Analysis. Sage Publications.

例子

>>> from networkx.algorithms import bipartite
>>> B = nx.path_graph(5)
>>> nodes = [0, 2, 4]
>>> G = bipartite.overlap_weighted_projected_graph(B, nodes)
>>> list(G)
[0, 2, 4]
>>> list(G.edges(data=True))
[(0, 2, {'weight': 0.5}), (2, 4, {'weight': 0.5})]
>>> G = bipartite.overlap_weighted_projected_graph(B, nodes, jaccard=False)
>>> list(G.edges(data=True))
[(0, 2, {'weight': 1.0}), (2, 4, {'weight': 1.0})]

相關用法


注:本文由純淨天空篩選整理自networkx.org大神的英文原創作品 networkx.algorithms.bipartite.projection.overlap_weighted_projected_graph。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。