networkx.algorithms.similarity.simrank_similarity_numpy¶
-
simrank_similarity_numpy
(G, source=None, target=None, importance_factor=0.9, max_iterations=100, tolerance=0.0001)[source]¶ Calculate SimRank of nodes in
G
using matrices withnumpy
.The SimRank algorithm for determining node similarity is defined in 1.
- Parameters
G (NetworkX graph) – A NetworkX graph
source (node) – If this is specified, the returned dictionary maps each node
v
in the graph to the similarity betweensource
andv
.target (node) – If both
source
andtarget
are specified, the similarity value betweensource
andtarget
is returned. Iftarget
is specified butsource
is not, this argument is ignored.importance_factor (float) – The relative importance of indirect neighbors with respect to direct neighbors.
max_iterations (integer) – Maximum number of iterations.
tolerance (float) – Error tolerance used to check convergence. When an iteration of the algorithm finds that no similarity value changes more than this amount, the algorithm halts.
- Returns
similarity – If
source
andtarget
are bothNone
, this returns a dictionary of dictionaries, where keys are node pairs and value are similarity of the pair of nodes.If
source
is notNone
buttarget
is, this returns a dictionary mapping node to the similarity ofsource
and that node.If neither
source
nortarget
isNone
, this returns the similarity value for the given pair of nodes.- Return type
dictionary or float
Examples
>>> import networkx as nx >>> from numpy import array >>> G = nx.cycle_graph(4) >>> sim = nx.simrank_similarity_numpy(G)
References
- 1
G. Jeh and J. Widom. “SimRank: a measure of structural-context similarity”, In KDD’02: Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 538–543. ACM Press, 2002.