MyMediaLite  3.11
Public Member Functions | Properties | List of all members
IIncrementalRatingPredictor Interface Reference

Interface for rating predictors which support incremental training More...

Inheritance diagram for IIncrementalRatingPredictor:
IRatingPredictor IIncrementalRecommender IRecommender IncrementalRatingPredictor Constant EntityAverage GlobalAverage KNN MatrixFactorization NaiveBayes Random UserItemBaseline

Public Member Functions

void AddRatings (IRatings ratings)
 Add new ratings and perform incremental training More...
 
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...
 
void LoadModel (string filename)
 Get the model parameters from a file More...
 
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...
 
void RemoveItem (int item_id)
 Remove all feedback by one item More...
 
void RemoveRatings (IDataSet ratings)
 Remove existing ratings and perform "incremental" training More...
 
void RemoveUser (int user_id)
 Remove all feedback by one user More...
 
void SaveModel (string filename)
 Save the model parameters to a file More...
 
string ToString ()
 Return a string representation of the recommender More...
 
void Train ()
 Learn the model parameters of the recommender from the training data More...
 
void UpdateRatings (IRatings ratings)
 Update existing ratings and perform incremental training More...
 

Properties

float MaxRating [get, set]
 Gets or sets the maximum rating. More...
 
float MinRating [get, set]
 Gets or sets the minimum rating. More...
 
IRatings Ratings [get, set]
 the ratings to learn from More...
 
bool UpdateItems [get, set]
 true if items shall be updated when doing incremental updates More...
 
bool UpdateUsers [get, set]
 true if users shall be updated when doing incremental updates More...
 

Detailed Description

Interface for rating predictors which support incremental training

By incremental training we mean that after each update, the recommender does not perform a complete re-training using all data, but only a brief update procedure taking into account the update and only a subset of the existing training data.

This interface does not prevent you from doing a complete re-training when implementing a new class. This makes sense e.g. for simple average-based models.

This interface assumes that every user can rate every item only once.

Member Function Documentation

void AddRatings ( IRatings  ratings)

Add new ratings and perform incremental training

Parameters
ratingsthe ratings

Implemented in MatrixFactorization, UserItemBaseline, NaiveBayes, ItemKNN, UserKNN, UserAverage, GlobalAverage, ItemAverage, and IncrementalRatingPredictor.

bool CanPredict ( int  user_id,
int  item_id 
)
inherited

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_idthe user ID
item_idthe item ID
Returns
true if a useful prediction can be made, false otherwise

Implemented in Ensemble, ExternalItemRecommender, ExternalRatingPredictor, BiPolarSlopeOne, Recommender, SlopeOne, Constant, GlobalAverage, UserAverage, ItemAverage, and Random.

void LoadModel ( string  filename)
inherited
float Predict ( int  user_id,
int  item_id 
)
inherited
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_idthe user ID
nthe number of items to recommend, -1 for as many as possible
ignore_itemscollection if items that should not be returned; if null, use empty collection
candidate_itemsthe candidate items to choose from; if null, use all items
Returns
a sorted list of (item_id, score) tuples

Implemented in WeightedEnsemble, and Ensemble.

void RemoveItem ( int  item_id)
inherited

Remove all feedback by one item

Parameters
item_idthe item ID

Implemented in BiasedMatrixFactorization, BPRMF, MatrixFactorization, BPRSLIM, LeastSquareSLIM, MF, IncrementalRatingPredictor, IncrementalItemRecommender, MostPopular, and ItemAverage.

void RemoveRatings ( IDataSet  ratings)

Remove existing ratings and perform "incremental" training

Parameters
ratingsthe user and item IDs of the ratings to be removed

Implemented in MatrixFactorization, UserItemBaseline, NaiveBayes, ItemKNN, UserKNN, IncrementalRatingPredictor, UserAverage, ItemAverage, and GlobalAverage.

void RemoveUser ( int  user_id)
inherited

Remove all feedback by one user

Parameters
user_idthe user ID

Implemented in BiasedMatrixFactorization, MatrixFactorization, LeastSquareSLIM, MF, MostPopular, IncrementalRatingPredictor, IncrementalItemRecommender, and UserAverage.

void SaveModel ( string  filename)
inherited
string ToString ( )
inherited
void Train ( )
inherited
void UpdateRatings ( IRatings  ratings)

Update existing ratings and perform incremental training

Parameters
ratingsthe ratings

Implemented in MatrixFactorization, UserItemBaseline, NaiveBayes, ItemKNN, UserKNN, UserAverage, GlobalAverage, ItemAverage, and IncrementalRatingPredictor.

Property Documentation

float MaxRating
getsetinherited

Gets or sets the maximum rating.

The maximally possible rating

float MinRating
getsetinherited

Gets or sets the minimum rating.

The minimally possible rating

IRatings Ratings
getsetinherited

the ratings to learn from

bool UpdateItems
getsetinherited

true if items shall be updated when doing incremental updates

Set to false if you do not want any updates to the item model parameters when doing incremental updates.

bool UpdateUsers
getsetinherited

true if users shall be updated when doing incremental updates

Default should be true. Set to false if you do not want any updates to the user model parameters when doing incremental updates.


The documentation for this interface was generated from the following file: