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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。