public class PMF extends Recommender
Modifier and Type | Field and Description |
---|---|
protected static double |
DEFAULT_GAMMA |
protected static double |
DEFAULT_LAMBDA |
protected double |
gamma
Learning rate
|
protected double |
lambda
Regularization parameter
|
protected int |
numFactors
Number of latent factors
|
protected int |
numIters
Number of iterations
|
protected double[][] |
p
User factors
|
protected double[][] |
q
Item factors
|
datamodel
Constructor and Description |
---|
PMF(DataModel datamodel,
int numFactors,
int numIters)
Model constructor
|
PMF(DataModel datamodel,
int numFactors,
int numIters,
double lambda)
Model constructor
|
PMF(DataModel datamodel,
int numFactors,
int numIters,
double lambda,
double gamma,
long seed)
Model constructor
|
PMF(DataModel datamodel,
int numFactors,
int numIters,
double lambda,
long seed)
Model constructor
|
PMF(DataModel datamodel,
int numFactors,
int numIters,
long seed)
Model constructor
|
PMF(DataModel datamodel,
Map<String,Object> params)
Model constructor from a Map containing the model's hyper-parameters values.
|
Modifier and Type | Method and Description |
---|---|
void |
fit()
Estimates model parameters given the hyper-parameters
|
double |
getGamma()
Get the learning rate parameter of the model
|
double[] |
getItemFactors(int itemIndex)
Get the latent factors vector of an item (qi)
|
double |
getLambda()
Get the regularization parameter of the model
|
int |
getNumFactors()
Get the number of factors of the model
|
int |
getNumIters()
Get the number of iterations
|
double[] |
getUserFactors(int userIndex)
Get the latent factors vector of a user (pu)
|
double |
predict(int userIndex,
int itemIndex)
Computes a rating prediction
|
String |
toString() |
getDataModel, predict
protected static final double DEFAULT_GAMMA
protected static final double DEFAULT_LAMBDA
protected final double[][] p
protected final double[][] q
protected final double gamma
protected final double lambda
protected final int numFactors
protected final int numIters
public PMF(DataModel datamodel, Map<String,Object> params)
datamodel
- DataModel instanceparams
- Model's hyper-parameters valuespublic PMF(DataModel datamodel, int numFactors, int numIters)
datamodel
- DataModel instancenumFactors
- Number of factorsnumIters
- Number of iterationspublic PMF(DataModel datamodel, int numFactors, int numIters, long seed)
datamodel
- DataModel instancenumFactors
- Number of factorsnumIters
- Number of iterationsseed
- Seed for random numbers generationpublic PMF(DataModel datamodel, int numFactors, int numIters, double lambda)
datamodel
- DataModel instancenumFactors
- Number of factorsnumIters
- Number of iterationslambda
- Regularization parameterpublic PMF(DataModel datamodel, int numFactors, int numIters, double lambda, long seed)
datamodel
- DataModel instancenumFactors
- Number of factorsnumIters
- Number of iterationslambda
- Regularization parameterseed
- Seed for random numbers generationpublic PMF(DataModel datamodel, int numFactors, int numIters, double lambda, double gamma, long seed)
datamodel
- DataModel instancenumFactors
- Number of factorsnumIters
- Number of iterationslambda
- Regularization parametergamma
- Learning rate parameterseed
- Seed for random numbers generationpublic int getNumFactors()
public int getNumIters()
public double getLambda()
public double getGamma()
public double[] getUserFactors(int userIndex)
userIndex
- Userpublic double[] getItemFactors(int itemIndex)
itemIndex
- Userpublic void fit()
Recommender
fit
in class Recommender
public double predict(int userIndex, int itemIndex)
Recommender
predict
in class Recommender
userIndex
- Index of the user in the array of Users of the DataModel instanceitemIndex
- Index of the item in the array of Items of the DataModel instanceCopyright © 2020. All rights reserved.