Note
This documents the development version of NetworkX. Documentation for the current release can be found here.
networkx.algorithms.link_prediction.within_inter_cluster¶

within_inter_cluster
(G, ebunch=None, delta=0.001, community='community')[source]¶ Compute the ratio of within and intercluster common neighbors of all node pairs in ebunch.
For two nodes
u
andv
, if a common neighborw
belongs to the same community as them,w
is considered as withincluster common neighbor ofu
andv
. Otherwise, it is considered as intercluster common neighbor ofu
andv
. The ratio between the size of the set of within and intercluster common neighbors is defined as the WIC measure. [1] Parameters
 Ggraph
A NetworkX undirected graph.
 ebunchiterable of node pairs, optional (default = None)
The WIC measure will be computed for each pair of nodes given in the iterable. The pairs must be given as 2tuples (u, v) where u and v are nodes in the graph. If ebunch is None then all nonexistent edges in the graph will be used. Default value: None.
 deltafloat, optional (default = 0.001)
Value to prevent division by zero in case there is no intercluster common neighbor between two nodes. See [1] for details. Default value: 0.001.
 communitystring, optional (default = ‘community’)
Nodes attribute name containing the community information. G[u][community] identifies which community u belongs to. Each node belongs to at most one community. Default value: ‘community’.
 Returns
 piteriterator
An iterator of 3tuples in the form (u, v, p) where (u, v) is a pair of nodes and p is their WIC measure.
References
 1(1,2)
Jorge Carlos ValverdeRebaza and Alneu de Andrade Lopes. Link prediction in complex networks based on cluster information. In Proceedings of the 21st Brazilian conference on Advances in Artificial Intelligence (SBIA’12) https://doi.org/10.1007/9783642344596_10
Examples
>>> G = nx.Graph() >>> G.add_edges_from([(0, 1), (0, 2), (0, 3), (1, 4), (2, 4), (3, 4)]) >>> G.nodes[0]["community"] = 0 >>> G.nodes[1]["community"] = 1 >>> G.nodes[2]["community"] = 0 >>> G.nodes[3]["community"] = 0 >>> G.nodes[4]["community"] = 0 >>> preds = nx.within_inter_cluster(G, [(0, 4)]) >>> for u, v, p in preds: ... print(f"({u}, {v}) > {p:.8f}") (0, 4) > 1.99800200 >>> preds = nx.within_inter_cluster(G, [(0, 4)], delta=0.5) >>> for u, v, p in preds: ... print(f"({u}, {v}) > {p:.8f}") (0, 4) > 1.33333333