adamic_adar_index#
- adamic_adar_index(G, ebunch=None)[source]#
计算ebunch中所有节点对的Adamic-Adar指数。
u
和v
的Adamic-Adar指数定义为\[\sum_{w \in \Gamma(u) \cap \Gamma(v)} \frac{1}{\log |\Gamma(w)|}\]其中:math:`Gamma(u)`表示:math:`u`的邻居集合。 该指数对于仅通过自环连接的节点会导致零除错误。 它旨在在没有自环的情况下使用。
- Parameters:
- G图
NetworkX无向图。
- ebunch节点对的可迭代对象,可选(默认 = None)
Adamic-Adar指数将针对可迭代对象中给出的每对节点进行计算。 节点对必须以2元组(u, v)的形式给出,其中u和v是图中的节点。 如果ebunch为None,则将使用图中所有不存在的边。 默认值:None。
- Returns:
- piter迭代器
一个形式为(u, v, p)的3元组迭代器,其中(u, v)是一对节点,p是它们的Adamic-Adar指数。
- Raises:
- NetworkXNotImplemented
如果
G
是DiGraph
、Multigraph
或MultiDiGraph
。- NodeNotFound
如果
ebunch
中有一个节点不在G
中。
References
[1]D. Liben-Nowell, J. Kleinberg. The Link Prediction Problem for Social Networks (2004). http://www.cs.cornell.edu/home/kleinber/link-pred.pdf
Examples
>>> G = nx.complete_graph(5) >>> preds = nx.adamic_adar_index(G, [(0, 1), (2, 3)]) >>> for u, v, p in preds: ... print(f"({u}, {v}) -> {p:.8f}") (0, 1) -> 2.16404256 (2, 3) -> 2.16404256