Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 1.57 KB

adamic.rst

File metadata and controls

47 lines (29 loc) · 1.57 KB

Adamic/Adar

Adamic/Adar measures is defined as inverted sum of degrees of common neighbours for given two vertices.

A(x,y)=\sum_{u \in N(x) \cap N(y)}\frac{1}{log(|N(u)|)}

Where N(x) is set of neighbours of vertex x

For further informations please refer to [Adamic].
import ml.sparkling.graph.operators.OperatorsDSL._
import org.apache.spark.SparkContext
import org.apache.spark.graphx.Graph

implicit ctx:SparkContext=???
// initialize your SparkContext as implicit value
val graph =???
// load your graph (for example using Graph loading API)

val adamicAdarGraph: Graph[_, Double] = graph.adamicAdar(VertexMeasureConfiguration((g:Graph[_,_])=>10l))
// Graph where each edge is associated with its Adamic/Adar measure

You can also compute closeness centrality for graph treated as undirected one:

import ml.sparkling.graph.operators.OperatorsDSL._
import org.apache.spark.SparkContext
import org.apache.spark.graphx.Graph

implicit ctx:SparkContext=???
// initialize your SparkContext as implicit value
val graph =???
// load your graph (for example using Graph loading API)

val adamicAdarGraph: Graph[_, Double] = graph.adamicAdar(treatAsUndirected=true)
// Graph where each edge is associated with its Adamic/Adar measure  where edges are treated as undirected

References:

[Adamic]Adamic, L. A. and Adar, E. (2003). Predicting missing links via local information.SocialNetworks, 25(3):211–230 Springer