common_neighbor_centrality#
- common_neighbor_centrality(G, ebunch=None, alpha=0.8)[源代码]#
返回每对节点的CCPA分数。
计算ebunch中所有节点对的公共邻居和基于中心度的参数化算法(CCPA)得分。
CCPA得分
u
和v
定义为\[\alpha\cdot(|\Gamma(u){\cap}^{}\Gamma(v)|)+(1-\alpha)\cdot\frac{N}{d}{uv}}\]哪里 \(\Gamma(u)\) 的邻居集。 \(u\) , \(\Gamma(v)\) 的邻居集。 \(v\) , \(\alpha\) IS参数在以下情况下变化 [0,1] , \(N\) 表示图中的节点总数, \({{d}}_{{uv}}\) 表示之间的最短距离 \(u\) 和 \(v\) 。
该算法基于节点的两个重要属性,即公共邻居的数目和它们的中心性。公共邻居是指两个节点之间的公共节点。中心性是指节点在网络中享有的声望。
参见
common_neighbors()
- 参数
- G图表
网络X无向图。
- ebunch节点对的可迭代,可选(默认=无)
将为迭代中给出的每一对节点计算优先连接分数。这些对必须以2元组(u,v)的形式给出,其中u和v是图中的节点。如果eBunch为None,则将使用图形中所有不存在的边。默认值:无。
- alpha为公共邻居的参与定义的参数
和中心性算法共享。Alpha的值通常应该在0到1之间。默认值设置为0.8,因为作者发现所有数据集在0.8时的性能更好。默认值:0.8
- 返回
- piter迭代器
(u,v,p)形式的3元组迭代器,其中(u,v)是一对节点,p是它们的基于公共邻居和中心性的参数化算法(CCPA)分数。
工具书类
- 1
艾哈迈德,I.,阿克塔,M.U.,努尔,S.等人。基于公共邻居和中心度的参数化算法进行链路丢失预测。Sci报告10364(2020年)。https://doi.org/10.1038/s41598-019-57304-y
实例
>>> G = nx.complete_graph(5) >>> preds = nx.common_neighbor_centrality(G, [(0, 1), (2, 3)]) >>> for u, v, p in preds: ... print(f"({u}, {v}) -> {p}") (0, 1) -> 3.4000000000000004 (2, 3) -> 3.4000000000000004