nz.ac.waikato.mcennis.rat.graph.algorithm.collaborativefiltering
Class User2User

java.lang.Object
  extended by nz.ac.waikato.mcennis.rat.graph.model.ModelShell
      extended by nz.ac.waikato.mcennis.rat.graph.algorithm.collaborativefiltering.User2User
All Implemented Interfaces:
java.io.Serializable, Component, Algorithm, Model

public class User2User
extends ModelShell
implements Algorithm

Performs User to user collaborative filtering where similar users' links to destination actors (items) are used to suggest items for the given user.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
listener
 
Constructor Summary
User2User()
          Create a generic user to user algorithm with default parameters.
 
Method Summary
protected  double compare(cern.colt.matrix.DoubleMatrix1D left, cern.colt.matrix.DoubleMatrix1D right)
           
protected  void doRecommendation(Graph g, Actor left, cern.colt.matrix.DoubleMatrix1D leftArray, Actor right, cern.colt.matrix.DoubleMatrix1D rightArray, double sim)
           
 void execute(Graph g)
          execute the algorithm against the given graph
 InputDescriptor[] getInputType()
          The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object.
 OutputDescriptor[] getOutputType()
          The output type describes all the different kinds of graph objects that are created during the execution of this algorithm.
 Parameter[] getParameter()
          List of all parameters this component accepts.
 Parameter getParameter(java.lang.String param)
          Returns the specific parameter identified by its key-name.
 SettableParameter[] getSettableParameter()
          Returns settable (i.e.
 SettableParameter getSettableParameter(java.lang.String param)
          Return the settable parameter namede by this key-name.
protected  cern.colt.matrix.DoubleMatrix1D getUserVector(Graph g, Actor u, int numArtists)
           
 void init(java.util.Properties map)
          Parameters:

  • name: name of this algorithm.
  •  
    Methods inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
    addListener, fireChange
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
     
    Methods inherited from interface nz.ac.waikato.mcennis.rat.graph.model.Model
    addListener
     

    Constructor Detail

    User2User

    public User2User()
    Create a generic user to user algorithm with default parameters.

    Method Detail

    execute

    public void execute(Graph g)
    Description copied from interface: Algorithm
    execute the algorithm against the given graph

    Specified by:
    execute in interface Algorithm
    Parameters:
    g - graph to be modified

    getUserVector

    protected cern.colt.matrix.DoubleMatrix1D getUserVector(Graph g,
                                                            Actor u,
                                                            int numArtists)

    doRecommendation

    protected void doRecommendation(Graph g,
                                    Actor left,
                                    cern.colt.matrix.DoubleMatrix1D leftArray,
                                    Actor right,
                                    cern.colt.matrix.DoubleMatrix1D rightArray,
                                    double sim)

    compare

    protected double compare(cern.colt.matrix.DoubleMatrix1D left,
                             cern.colt.matrix.DoubleMatrix1D right)

    getInputType

    public InputDescriptor[] getInputType()
    Description copied from interface: Component
    The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object. This result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no input.

    Specified by:
    getInputType in interface Component
    Returns:
    InputDescriptor array for this component
    See Also:
    InputDescriptor

    getOutputType

    public OutputDescriptor[] getOutputType()
    Description copied from interface: Component
    The output type describes all the different kinds of graph objects that are created during the execution of this algorithm. The result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no output.

    Specified by:
    getOutputType in interface Component
    Returns:
    OutputDescriptor array for this component
    See Also:
    OutputDescriptor

    getParameter

    public Parameter[] getParameter()
    Description copied from interface: Component
    List of all parameters this component accepts. Each parameter also has a distinct key-name used when initializing the object using the init method. If there are no parameters, null is returned.

    Specified by:
    getParameter in interface Component
    Returns:
    read-only array of Parameters

    getParameter

    public Parameter getParameter(java.lang.String param)
    Description copied from interface: Component
    Returns the specific parameter identified by its key-name. If no parameter is found with this key-name, null is returned.

    Specified by:
    getParameter in interface Component
    Parameters:
    param - key-name of the parameter
    Returns:
    named parameter

    getSettableParameter

    public SettableParameter[] getSettableParameter()
    Description copied from interface: Component
    Returns settable (i.e. editable while running) parameters. If none exist, null is returned.

    Specified by:
    getSettableParameter in interface Component
    Returns:
    array of settable parameters

    getSettableParameter

    public SettableParameter getSettableParameter(java.lang.String param)
    Description copied from interface: Component
    Return the settable parameter namede by this key-name. If this parameter is not found or is not settable, null is returned.

    Specified by:
    getSettableParameter in interface Component
    Parameters:
    param - key-name of the parameter
    Returns:
    named settable parameter

    init

    public void init(java.util.Properties map)
    Parameters:

    Specified by:
    init in interface Component
    Parameters:
    map - parameters to be loaded - may be null