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

    java.lang.Object
      org.apache.mahout.cf.taste.impl.recommender.svd.AbstractFactorizer
          org.apache.mahout.cf.taste.impl.recommender.svd.RatingSGDFactorizer
              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.