org.apache.spark.graphx.lib
Class LabelPropagation

Object
  extended by org.apache.spark.graphx.lib.LabelPropagation

public class LabelPropagation
extends Object

Label Propagation algorithm.


Constructor Summary
LabelPropagation()
           
 
Method Summary
static
<VD,ED> Graph<Object,ED>
run(Graph<VD,ED> graph, int maxSteps, scala.reflect.ClassTag<ED> evidence$1)
          Run static Label Propagation for detecting communities in networks.
 
Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LabelPropagation

public LabelPropagation()
Method Detail

run

public static <VD,ED> Graph<Object,ED> run(Graph<VD,ED> graph,
                                           int maxSteps,
                                           scala.reflect.ClassTag<ED> evidence$1)
Run static Label Propagation for detecting communities in networks.

Each node in the network is initially assigned to its own community. At every superstep, nodes send their community affiliation to all neighbors and update their state to the mode community affiliation of incoming messages.

LPA is a standard community detection algorithm for graphs. It is very inexpensive computationally, although (1) convergence is not guaranteed and (2) one can end up with trivial solutions (all nodes are identified into a single community).

Parameters:
graph - the graph for which to compute the community affiliation
maxSteps - the number of supersteps of LPA to be performed. Because this is a static implementation, the algorithm will run for exactly this many supersteps.

evidence$1 - (undocumented)
Returns:
a graph with vertex attributes containing the label of community affiliation