Class NeuMF
- java.lang.Object
-
- es.upm.etsisi.cf4j.recommender.Recommender
-
- es.upm.etsisi.cf4j.recommender.neural.NeuMF
-
public class NeuMF extends Recommender
Implements He, X., Liao, L., Zhang, H., Nie, L., Hu, X., & Chua, T. S. (2017, April). Neural collaborative filtering. In Proceedings of the 26th international conference on world wide web (pp. 173-182).
-
-
Field Summary
Fields Modifier and Type Field Description protected int[]layersArray of layers neuronsprotected doublelearningRateLearning Rateprotected intnumFactorsGMFNumber of GMF latent factorsprotected intnumFactorsMLPNumber of MLP latent factors-
Fields inherited from class es.upm.etsisi.cf4j.recommender.Recommender
datamodel
-
-
Constructor Summary
Constructors Constructor Description NeuMF(DataModel datamodel, int numEpochs, double learningRate)Model constructorNeuMF(DataModel datamodel, int numEpochs, double learningRate, int[] layers)Model constructorNeuMF(DataModel datamodel, int numEpochs, double learningRate, long seed)Model constructorNeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate)Model constructorNeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate, int[] layers)Model constructorNeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate, int[] layers, long seed)Model constructorNeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate, long seed)Model constructorNeuMF(DataModel datamodel, Map<String,Object> params)Model constructor from a Map containing the model's hyper-parameters values.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfit()Estimates model parameters given the hyper-parametersintgetGMFNumFactors()Returns the number of latent factors of GMF net.int[]getLayers()Returns net layers.doublegetLearningRate()Returns learning rate.intgetMLPNumFactors()Returns the number of latent factors of MLP net.intgetNumEpochs()Returns the number of epochs.doublepredict(int userIndex, int itemIndex)Returns the prediction of a rating of a certain user for a certain item, through these predictions the metrics of MAE, MSE and RMSE can be obtained.StringtoString()-
Methods inherited from class es.upm.etsisi.cf4j.recommender.Recommender
getDataModel, predict
-
-
-
-
Constructor Detail
-
NeuMF
public NeuMF(DataModel datamodel, Map<String,Object> params)
Model constructor from a Map containing the model's hyper-parameters values. Map object must contains the following keys:- numFactorsGMF (optional): int value with the number of latent factors of GMF net. If missing, default 10 GMF latent factors are used.
- numFactorsMLP (optional): int value with the number of latent factors of MLP net. If missing, default 10 MLP latent factors are used.
- numEpochs: int value with the number of epochs.
- learningRate: double value with the learning rate.
- layers (optional): Array of layers neurons. If missing, default [10] Array is used.
- seed (optional): random seed for random numbers generation. If missing, random value is used.
- Parameters:
datamodel- DataModel instanceparams- Model's hyper-parameters values
-
NeuMF
public NeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate)
Model constructor- Parameters:
datamodel- DataModel instancenumFactorsGMF- Number of factors of GMF net. 10 by defaultnumFactorsMLP- Number of factors of MLP net. 10 by defaultdatamodel- DataModel instancenumEpochs- Number of epochslearningRate- Learning rate
-
NeuMF
public NeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate, long seed)
Model constructor- Parameters:
datamodel- DataModel instancenumFactorsGMF- Number of factors of GMF net. 10 by defaultnumFactorsMLP- Number of factors of MLP net. 10 by defaultnumEpochs- Number of epochslearningRate- Learning rateseed- random seed for random numbers generation
-
NeuMF
public NeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate, int[] layers)
Model constructor- Parameters:
datamodel- DataModel instancenumFactorsGMF- Number of factors of GMF net. 10 by defaultnumFactorsMLP- Number of factors of MLP net. 10 by defaultnumEpochs- Number of epochslearningRate- Learning ratelayers- Array of layers neurons. [10] by default.
-
NeuMF
public NeuMF(DataModel datamodel, int numEpochs, double learningRate)
Model constructor- Parameters:
datamodel- DataModel instancedatamodel- DataModel instancenumEpochs- Number of epochslearningRate- Learning rate
-
NeuMF
public NeuMF(DataModel datamodel, int numEpochs, double learningRate, long seed)
Model constructor- Parameters:
datamodel- DataModel instancenumEpochs- Number of epochslearningRate- Learning rateseed- random seed for random numbers generation
-
NeuMF
public NeuMF(DataModel datamodel, int numEpochs, double learningRate, int[] layers)
Model constructor- Parameters:
datamodel- DataModel instancenumEpochs- Number of epochslearningRate- Learning ratelayers- Array of layers neurons. [10] by default.
-
NeuMF
public NeuMF(DataModel datamodel, int numFactorsGMF, int numFactorsMLP, int numEpochs, double learningRate, int[] layers, long seed)
Model constructor- Parameters:
datamodel- DataModel instancenumEpochs- Number of epochslearningRate- Learning ratelayers- Array of layers neurons. [10] by default.seed- Seed for random numbers generation
-
-
Method Detail
-
fit
public void fit()
Description copied from class:RecommenderEstimates model parameters given the hyper-parameters- Specified by:
fitin classRecommender
-
predict
public double predict(int userIndex, int itemIndex)Returns the prediction of a rating of a certain user for a certain item, through these predictions the metrics of MAE, MSE and RMSE can be obtained.- Specified by:
predictin classRecommender- Parameters:
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 instance- Returns:
- Prediction
-
getNumEpochs
public int getNumEpochs()
Returns the number of epochs.- Returns:
- Number of epochs.
-
getGMFNumFactors
public int getGMFNumFactors()
Returns the number of latent factors of GMF net.- Returns:
- Number of latent factors of GMF net.
-
getMLPNumFactors
public int getMLPNumFactors()
Returns the number of latent factors of MLP net.- Returns:
- Number of latent factors of MLP net.
-
getLearningRate
public double getLearningRate()
Returns learning rate.- Returns:
- learning rate.
-
getLayers
public int[] getLayers()
Returns net layers.- Returns:
- net layers.
-
-