Compute the resource allocation index of all node pairs in ebunch using community information.
For two nodes \(u\) and \(v\), this function computes the resource allocation index considering only common neighbors belonging to the same community as \(u\) and \(v\). Mathematically,
where \(f(w)\) equals 1 if \(w\) belongs to the same community as \(u\) and \(v\) or 0 otherwise and \(\Gamma(u)\) denotes the set of neighbors of \(u\).
Parameters: | G : graph
ebunch : iterable of node pairs, optional (default = None)
community : string, optional (default = ‘community’)
|
---|---|
Returns: | piter : iterator
|
References
[R265] | Sucheta Soundarajan and John Hopcroft. Using community information to improve the precision of link prediction methods. In Proceedings of the 21st international conference companion on World Wide Web (WWW ‘12 Companion). ACM, New York, NY, USA, 607-608. http://doi.acm.org/10.1145/2187980.2188150 |
Examples
>>> import networkx as nx
>>> G = nx.Graph()
>>> G.add_edges_from([(0, 1), (0, 2), (1, 3), (2, 3)])
>>> G.node[0]['community'] = 0
>>> G.node[1]['community'] = 0
>>> G.node[2]['community'] = 1
>>> G.node[3]['community'] = 0
>>> preds = nx.ra_index_soundarajan_hopcroft(G, [(0, 3)])
>>> for u, v, p in preds:
... '(%d, %d) -> %.8f' % (u, v, p)
...
'(0, 3) -> 0.50000000'