Latent-feature log linear model
More...
Public Member Functions |
virtual bool | CanPredict (int user_id, int item_id) |
| Check whether a useful prediction (i.e. not using a fallback/default answer) can be made for a given user-item combination
|
Object | Clone () |
| create a shallow copy of the object
|
float | ComputeObjective () |
| Compute the current optimization objective (usually loss plus regularization term) of the model
|
void | Iterate () |
| Run one iteration (= pass over the training data)
|
| LatentFeatureLogLinearModel () |
| Default constructor
|
virtual void | LoadModel (string file) |
| Get the model parameters from a file
|
override float | Predict (int user_id, int item_id) |
| Predict rating or score for a given user-item combination
|
IList< Tuple< int, float > > | Recommend (int user_id, int n=-1, ICollection< int > ignore_items=null, ICollection< int > candidate_items=null) |
| Recommend items for a given user
|
virtual
System.Collections.Generic.IList
< Tuple< int, float > > | Recommend (int user_id, int n=-1, System.Collections.Generic.ICollection< int > ignore_items=null, System.Collections.Generic.ICollection< int > candidate_items=null) |
virtual void | SaveModel (string file) |
| Save the model parameters to a file
|
override string | ToString () |
| Return a string representation of the recommender
|
override void | Train () |
| Learn the model parameters of the recommender from the training data
|
Properties |
float | BiasLearnRate [get, set] |
| Learn rate factor for the bias terms
|
float | BiasReg [get, set] |
| regularization factor for the bias terms
|
bool | FrequencyRegularization [get, set] |
| Regularization based on rating frequency
|
double | InitMean [get, set] |
| Mean of the normal distribution used to initialize the factors
|
double | InitStdDev [get, set] |
| Standard deviation of the normal distribution used to initialize the factors
|
float | LearnRate [get, set] |
| Learn rate
|
OptimizationTarget | Loss [get, set] |
| The optimization target
|
int | MaxItemID [get, set] |
| Maximum item ID
|
virtual float | MaxRating [get, set] |
| Maximum rating value
|
int | MaxUserID [get, set] |
| Maximum user ID
|
virtual float | MinRating [get, set] |
| Minimum rating value
|
uint | NumFactors [get, set] |
| Number of latent factors
|
uint | NumIter [get, set] |
| Number of iterations over the training data
|
virtual IRatings | Ratings [get, set] |
| The rating data
|
float | RegI [get, set] |
| regularization constant for the item factors
|
float | RegU [get, set] |
| regularization constant for the user factors
|
Detailed Description
Latent-feature log linear model
Literature:
This recommender supports incremental updates.
Constructor & Destructor Documentation
Member Function Documentation
virtual bool CanPredict |
( |
int |
user_id, |
|
|
int |
item_id |
|
) |
| |
|
inlinevirtualinherited |
Check whether a useful prediction (i.e. not using a fallback/default answer) can be made for a given user-item combination
It is up to the recommender implementor to decide when a prediction is useful, and to document it accordingly.
- Parameters
-
user_id | the user ID |
item_id | the item ID |
- Returns
- true if a useful prediction can be made, false otherwise
Implements IRecommender.
Reimplemented in ExternalItemRecommender, ExternalRatingPredictor, BiPolarSlopeOne, SlopeOne, Constant, GlobalAverage, UserAverage, ItemAverage, and Random.
create a shallow copy of the object
float ComputeObjective |
( |
| ) |
|
|
inline |
Compute the current optimization objective (usually loss plus regularization term) of the model
- Returns
- the current objective; -1 if not implemented
Implements IIterativeModel.
Run one iteration (= pass over the training data)
Implements IIterativeModel.
virtual void LoadModel |
( |
string |
filename | ) |
|
|
inlinevirtualinherited |
Get the model parameters from a file
- Parameters
-
filename | the name of the file to read from |
Implements IRecommender.
Reimplemented in BPRMF, MatrixFactorization, BiasedMatrixFactorization, BPRSLIM, CoClustering, LeastSquareSLIM, SVDPlusPlus, UserItemBaseline, FactorWiseMatrixFactorization, BPRLinear, SigmoidCombinedAsymmetricFactorModel, MF, SigmoidSVDPlusPlus, BiPolarSlopeOne, SigmoidItemAsymmetricFactorModel, SigmoidUserAsymmetricFactorModel, KNN, KNN, MostPopular, NaiveBayes, SlopeOne, SLIM, MostPopularByAttributes, EntityAverage, GlobalAverage, ExternalItemRecommender, ExternalRatingPredictor, Constant, Random, Random, and Zero.
override float Predict |
( |
int |
user_id, |
|
|
int |
item_id |
|
) |
| |
|
inlinevirtual |
Predict rating or score for a given user-item combination
- Parameters
-
user_id | the user ID |
item_id | the item ID |
- Returns
- the predicted score/rating for the given user-item combination
Implements Recommender.
IList<Tuple<int, float> > Recommend |
( |
int |
user_id, |
|
|
int |
n = -1 , |
|
|
ICollection< int > |
ignore_items = null , |
|
|
ICollection< int > |
candidate_items = null |
|
) |
| |
|
inherited |
Recommend items for a given user
- Parameters
-
user_id | the user ID |
n | the number of items to recommend, -1 for as many as possible |
ignore_items | collection if items that should not be returned; if null, use empty collection |
candidate_items | the candidate items to choose from; if null, use all items |
- Returns
- a sorted list of (item_id, score) tuples
Implemented in WeightedEnsemble, and Ensemble.
virtual void SaveModel |
( |
string |
filename | ) |
|
|
inlinevirtualinherited |
Save the model parameters to a file
- Parameters
-
filename | the name of the file to write to |
Implements IRecommender.
Reimplemented in BPRMF, MatrixFactorization, BiasedMatrixFactorization, BPRSLIM, CoClustering, LeastSquareSLIM, SVDPlusPlus, UserItemBaseline, FactorWiseMatrixFactorization, BPRLinear, BiPolarSlopeOne, SigmoidCombinedAsymmetricFactorModel, MF, NaiveBayes, SigmoidItemAsymmetricFactorModel, SigmoidUserAsymmetricFactorModel, SlopeOne, KNN, KNN, MostPopular, SLIM, MostPopularByAttributes, EntityAverage, GlobalAverage, ExternalItemRecommender, ExternalRatingPredictor, Constant, Random, Random, and Zero.
override string ToString |
( |
| ) |
|
|
inline |
Return a string representation of the recommender
The ToString() method of recommenders should list the class name and all hyperparameters, separated by space characters.
Reimplemented from Recommender.
Learn the model parameters of the recommender from the training data
Implements Recommender.
Member Data Documentation
Property Documentation
Learn rate factor for the bias terms
regularization factor for the bias terms
bool FrequencyRegularization |
|
getset |
Regularization based on rating frequency
Regularization proportional to the inverse of the square root of the number of ratings associated with the user or item. As described in the paper by Menon and Elkan.
Mean of the normal distribution used to initialize the factors
Standard deviation of the normal distribution used to initialize the factors
Number of iterations over the training data
regularization constant for the item factors
regularization constant for the user factors
The documentation for this class was generated from the following file:
- LatentFeatureLogLinearModel.cs