org.apache.spark.graphx.lib
Class SVDPlusPlus

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

public class SVDPlusPlus
extends Object

Implementation of SVD++ algorithm.


Nested Class Summary
static class SVDPlusPlus.Conf
          Configuration parameters for SVDPlusPlus.
 
Constructor Summary
SVDPlusPlus()
           
 
Method Summary
static scala.Tuple2<Graph<scala.Tuple4<double[],double[],Object,Object>,Object>,Object> run(RDD<Edge<Object>> edges, SVDPlusPlus.Conf conf)
          Implement SVD++ based on "Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model", available at http://public.research.att.com/~volinsky/netflix/kdd08koren.pdf.
static scala.Tuple2<Graph<scala.Tuple4<double[],double[],Object,Object>,Object>,Object> runSVDPlusPlus(RDD<Edge<Object>> edges, SVDPlusPlus.Conf conf)
          This method is now replaced by the updated version of run() and returns exactly the same result.
 
Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVDPlusPlus

public SVDPlusPlus()
Method Detail

runSVDPlusPlus

public static scala.Tuple2<Graph<scala.Tuple4<double[],double[],Object,Object>,Object>,Object> runSVDPlusPlus(RDD<Edge<Object>> edges,
                                                                                                              SVDPlusPlus.Conf conf)
This method is now replaced by the updated version of run() and returns exactly the same result.

Parameters:
edges - (undocumented)
conf - (undocumented)
Returns:
(undocumented)

run

public static scala.Tuple2<Graph<scala.Tuple4<double[],double[],Object,Object>,Object>,Object> run(RDD<Edge<Object>> edges,
                                                                                                   SVDPlusPlus.Conf conf)
Implement SVD++ based on "Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model", available at http://public.research.att.com/~volinsky/netflix/kdd08koren.pdf.

The prediction rule is rui = u + bu + bi + qi*(pu + |N(u)|^^-0.5^^*sum(y)), see the details on page 6.

Parameters:
edges - edges for constructing the graph

conf - SVDPlusPlus parameters

Returns:
a graph with vertex attributes containing the trained model