overlap_weighted_projected_graph#
- overlap_weighted_projected_graph(B, nodes, jaccard=True)[源代码]#
将B的加权投影重叠到它的一个节点集上。
重叠加权投影是二部网络B在具有表示原始二部网络中两个节点的邻域之间的Jaccard指数的权重的指定节点上的投影 [1]:
\[W V,U=\frac N(U)\cap N(V)N(U)\cup N(V)\]或者如果参数‘Jaccard’为假,则以原始二部图中的两个节点度的最小值计算公共邻居的分数 [1]:
\[W V,U=\frac N(U)\cap N(V)min(N(U),N(V))\]如果原始二部图中的公共节点有边,则节点保留其属性并连接到结果图中。
- 参数
- B网络X图表
输入图应该是二部图。
- nodes列表或可迭代
要投影到的节点(“底部”节点)。
- jaccard: Bool (default=True)
- 返回
- Graph网络X图表
是在给定节点上的投影的图。
参见
is_bipartite
is_bipartite_node_set
sets
weighted_projected_graph
collaboration_weighted_projected_graph
generic_weighted_projected_graph
projected_graph
笔记
未尝试验证输入图B是否为二部分。图形和节点属性(浅)复制到投影图形。
见
bipartite documentation
有关如何在NetworkX中处理二部图的详细信息。工具书类
实例
>>> 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})]