Module org.jgrapht.core
Package org.jgrapht.alg.linkprediction
Class AdamicAdarIndexLinkPrediction<V,E>
java.lang.Object
org.jgrapht.alg.linkprediction.AdamicAdarIndexLinkPrediction<V,E>
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
LinkPredictionAlgorithm<V,
E>
public class AdamicAdarIndexLinkPrediction<V,E>
extends Object
implements LinkPredictionAlgorithm<V,E>
Predict links using the Adamic-Adar Index.
This is a local method which computes $s_{uv} = \sum_{z \in \Gamma(u)\cap\Gamma(v))}\frac{1}{\log(k(z))}$ where for a node $v$, $\Gamma(v)$ denotes the set of neighbors of $v$ and $k(v) = |\Gamma(v)|$ denotes the degree of $v$.
See the following two papers:- Liben‐Nowell, David, and Jon Kleinberg. "The link‐prediction problem for social networks." Journal of the American society for information science and technology 58.7 (2007): 1019-1031.
- Zhou, Tao, Linyuan Lü, and Yi-Cheng Zhang. "Predicting missing links via local information." The European Physical Journal B 71.4 (2009): 623-630.
- Author:
- Dimitrios Michail
-
Constructor Details
-
AdamicAdarIndexLinkPrediction
Create a new prediction- Parameters:
graph
- the input graph
-
-
Method Details
-
predict
Description copied from interface:LinkPredictionAlgorithm
Predict an edge between two vertices. The magnitude and the interpretation of the returned score depend solely on the algorithm.- Specified by:
predict
in interfaceLinkPredictionAlgorithm<V,
E> - Parameters:
u
- first vertexv
- second vertex- Returns:
- a prediction score
-