org.apache.mahout.cf.taste.impl.recommender.svd
Class SVDPlusPlusFactorizer

java.lang.Object
  extended by org.apache.mahout.cf.taste.impl.recommender.svd.AbstractFactorizer
      extended by org.apache.mahout.cf.taste.impl.recommender.svd.RatingSGDFactorizer
          extended by org.apache.mahout.cf.taste.impl.recommender.svd.SVDPlusPlusFactorizer
All Implemented Interfaces:
Refreshable, Factorizer

public final class SVDPlusPlusFactorizer
extends RatingSGDFactorizer

SVD++, an enhancement of classical matrix factorization for rating prediction. Additionally to using ratings (how did people rate?) for learning, this model also takes into account who rated what. Yehuda Koren: Factorization Meets the Neighborhood: a Multifaceted Collaborative Filtering Model, KDD 2008. http://research.yahoo.com/files/kdd08koren.pdf


Field Summary
 
Fields inherited from class org.apache.mahout.cf.taste.impl.recommender.svd.RatingSGDFactorizer
biasLearningRate, biasReg, dataModel, FEATURE_OFFSET, ITEM_BIAS_INDEX, itemVectors, learningRate, learningRateDecay, numFeatures, preventOverfitting, randomNoise, USER_BIAS_INDEX, userVectors
 
Constructor Summary
SVDPlusPlusFactorizer(DataModel dataModel, int numFeatures, double learningRate, double preventOverfitting, double randomNoise, int numIterations, double learningRateDecay)
           
SVDPlusPlusFactorizer(DataModel dataModel, int numFeatures, int numIterations)
           
 
Method Summary
 Factorization factorize()
           
protected  void prepareTraining()
           
protected  void updateParameters(long userID, long itemID, float rating, double currentLearningRate)
           
 
Methods inherited from class org.apache.mahout.cf.taste.impl.recommender.svd.RatingSGDFactorizer
shufflePreferences
 
Methods inherited from class org.apache.mahout.cf.taste.impl.recommender.svd.AbstractFactorizer
createFactorization, itemIndex, refresh, userIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVDPlusPlusFactorizer

public SVDPlusPlusFactorizer(DataModel dataModel,
                             int numFeatures,
                             int numIterations)
                      throws TasteException
Throws:
TasteException

SVDPlusPlusFactorizer

public SVDPlusPlusFactorizer(DataModel dataModel,
                             int numFeatures,
                             double learningRate,
                             double preventOverfitting,
                             double randomNoise,
                             int numIterations,
                             double learningRateDecay)
                      throws TasteException
Throws:
TasteException
Method Detail

prepareTraining

protected void prepareTraining()
                        throws TasteException
Overrides:
prepareTraining in class RatingSGDFactorizer
Throws:
TasteException

factorize

public Factorization factorize()
                        throws TasteException
Specified by:
factorize in interface Factorizer
Overrides:
factorize in class RatingSGDFactorizer
Throws:
TasteException

updateParameters

protected void updateParameters(long userID,
                                long itemID,
                                float rating,
                                double currentLearningRate)
Overrides:
updateParameters in class RatingSGDFactorizer


Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.