MyMediaLite  3.03
Public Member Functions | Properties
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

List of all members.

Public Member Functions

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

Properties

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

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, 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 BPRMF, BiasedMatrixFactorization, MatrixFactorization, IncrementalRatingPredictor, IncrementalItemRecommender, ItemAverage, and MostPopular.

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, BPRMF, MatrixFactorization, IncrementalRatingPredictor, IncrementalItemRecommender, UserAverage, and MostPopular.

void SaveModel ( string  filename) [inherited]
string ToString ( ) [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 [get, set, inherited]

Gets or sets the maximum rating.

The maximally possible rating

Implemented in RatingPredictor.

float MinRating [get, set, inherited]

Gets or sets the minimum rating.

The minimally possible rating

Implemented in RatingPredictor.

IRatings Ratings [get, set, inherited]

the ratings to learn from

Implemented in KNN, FactorWiseMatrixFactorization, TimeAwareRatingPredictor, RatingPredictor, ItemKNN, and UserKNN.

bool UpdateItems [get, set, inherited]

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.

Implemented in IncrementalItemRecommender, and IncrementalRatingPredictor.

bool UpdateUsers [get, set, inherited]

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.

Implemented in IncrementalItemRecommender, and IncrementalRatingPredictor.


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