Module org.jgrapht.core
Package org.jgrapht.alg.linkprediction
Class JaccardCoefficientLinkPrediction<V,E>
java.lang.Object
org.jgrapht.alg.linkprediction.JaccardCoefficientLinkPrediction<V,E>
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
LinkPredictionAlgorithm<V,
E>
public class JaccardCoefficientLinkPrediction<V,E>
extends Object
implements LinkPredictionAlgorithm<V,E>
Predict links using the Jaccard coefficient.
This is a local method which computes $s_{xy} = \frac{|\Gamma(u)\cap\Gamma(v))|}{|\Gamma(u)\cup\Gamma(v))|}$ where for a node $v$, $\Gamma(v)$ denotes the set of neighbors 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
-
JaccardCoefficientLinkPrediction
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
-