common_neighbor_centrality#

返回每对节点的CCPA分数。

计算ebunch中所有节点对的公共邻居和基于中心度的参数化算法(CCPA)得分。

CCPA得分 uv 定义为

\[\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