MyMediaLite
3.11
|
Baseline method for rating prediction More...
Public Member Functions | |
override void | AddRatings (IRatings ratings) |
Add new ratings and perform incremental training More... | |
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 More... | |
Object | Clone () |
create a shallow copy of the object More... | |
float | ComputeObjective () |
Compute the current optimization objective (usually loss plus regularization term) of the model More... | |
void | Iterate () |
Run one iteration (= pass over the training data) More... | |
override void | LoadModel (string filename) |
Get the model parameters from a file More... | |
override float | Predict (int user_id, int item_id) |
Predict rating or score for a given user-item combination More... | |
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 More... | |
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 | RemoveItem (int item_id) |
Remove all feedback by one item More... | |
override void | RemoveRatings (IDataSet ratings) |
Remove existing ratings and perform "incremental" training More... | |
virtual void | RemoveUser (int user_id) |
Remove all feedback by one user More... | |
virtual void | RetrainItem (int item_id) |
virtual void | RetrainUser (int user_id) |
override void | SaveModel (string filename) |
Save the model parameters to a file More... | |
override string | ToString () |
Return a string representation of the recommender More... | |
override void | Train () |
Learn the model parameters of the recommender from the training data More... | |
override void | UpdateRatings (IRatings ratings) |
Update existing ratings and perform incremental training More... | |
UserItemBaseline () | |
Default constructor More... | |
Protected Member Functions | |
override void | AddItem (int item_id) |
override void | AddUser (int user_id) |
Protected Attributes | |
float | global_average |
the global rating average More... | |
float[] | item_biases |
the item biases More... | |
float | max_rating |
Maximum rating value More... | |
float | min_rating |
Minimum rating value More... | |
IRatings | ratings |
rating data More... | |
float[] | user_biases |
the user biases More... | |
Properties | |
int | MaxItemID [get, set] |
Maximum item ID More... | |
virtual float | MaxRating [get, set] |
Maximum rating value More... | |
int | MaxUserID [get, set] |
Maximum user ID More... | |
virtual float | MinRating [get, set] |
Minimum rating value More... | |
uint | NumIter [get, set] |
virtual IRatings | Ratings [get, set] |
The rating data More... | |
float | RegI [get, set] |
Regularization parameter for the item biases More... | |
float | RegU [get, set] |
Regularization parameter for the user biases More... | |
bool | UpdateItems [get, set] |
bool | UpdateUsers [get, set] |
Baseline method for rating prediction
Uses the average rating value, plus a regularized user and item bias for prediction.
The method was described in section 2.1 of the paper below. One difference is that we support several iterations of alternating optimization, instead of just one.
The optimization problem solved by the Train() method is the following:
where are the known ratings, and and are the regularization constants RegU and RegI. The sum represents the least squares error, while the two terms starting with and , respectively, are regularization terms that control the parameter sizes to avoid overfitting. The optimization problem is solved an alternating least squares method.
Literature:
This recommender supports incremental updates.
|
inline |
Default constructor
|
inlinevirtual |
Add new ratings and perform incremental training
ratings | the ratings |
Reimplemented from IncrementalRatingPredictor.
|
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.
user_id | the user ID |
item_id | the item ID |
Implements IRecommender.
Reimplemented in ExternalItemRecommender, ExternalRatingPredictor, BiPolarSlopeOne, SlopeOne, Constant, GlobalAverage, UserAverage, ItemAverage, and Random.
|
inlineinherited |
create a shallow copy of the object
|
inline |
Compute the current optimization objective (usually loss plus regularization term) of the model
Implements IIterativeModel.
|
inline |
Run one iteration (= pass over the training data)
Implements IIterativeModel.
|
inlinevirtual |
Get the model parameters from a file
filename | the name of the file to read from |
Reimplemented from Recommender.
|
inlinevirtual |
Predict rating or score for a given user-item combination
user_id | the user ID |
item_id | the item ID |
Implements Recommender.
|
inherited |
Recommend items for a given user
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 |
Implemented in WeightedEnsemble, and Ensemble.
|
inlinevirtualinherited |
Remove all feedback by one item
item_id | the item ID |
Implements IIncrementalRecommender.
Reimplemented in BiasedMatrixFactorization, MatrixFactorization, and ItemAverage.
|
inlinevirtual |
Remove existing ratings and perform "incremental" training
ratings | the user and item IDs of the ratings to be removed |
Reimplemented from IncrementalRatingPredictor.
|
inlinevirtualinherited |
Remove all feedback by one user
user_id | the user ID |
Implements IIncrementalRecommender.
Reimplemented in BiasedMatrixFactorization, MatrixFactorization, and UserAverage.
|
inlinevirtual |
Save the model parameters to a file
filename | the name of the file to write to |
Reimplemented from Recommender.
|
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.
Implements IRecommender.
|
inlinevirtual |
Learn the model parameters of the recommender from the training data
Implements Recommender.
|
inlinevirtual |
Update existing ratings and perform incremental training
ratings | the ratings |
Reimplemented from IncrementalRatingPredictor.
|
protected |
the global rating average
|
protected |
the item biases
|
protectedinherited |
Maximum rating value
|
protectedinherited |
Minimum rating value
|
protectedinherited |
rating data
|
protected |
the user biases
|
getsetinherited |
Maximum item ID
|
getsetinherited |
Maximum rating value
|
getsetinherited |
Maximum user ID
|
getsetinherited |
Minimum rating value
|
getset |
Regularization parameter for the item biases
|
getset |
Regularization parameter for the user biases