org.mymedialite.ratingprediction
Class UserAverage
java.lang.Object
org.mymedialite.ratingprediction.RatingPredictor
org.mymedialite.ratingprediction.IncrementalRatingPredictor
org.mymedialite.ratingprediction.EntityAverage
org.mymedialite.ratingprediction.UserAverage
- All Implemented Interfaces:
- java.lang.Cloneable, IRecommender, IIncrementalRatingPredictor, IRatingPredictor
public class UserAverage
- extends EntityAverage
Uses the average rating value of a user for predictions.
This recommender does NOT support incremental updates.
Method Summary |
void |
addRating(int user_id,
int item_id,
double rating)
Add a new rating and perform incremental training |
void |
addUser(int user_id)
|
boolean |
canPredict(int user_id,
int item_id)
Check whether a useful prediction can be made for a given user-item combination. |
double |
predict(int user_id,
int item_id)
Predict the rating or score for a given user-item combination. |
void |
removeRating(int user_id,
int item_id)
Remove an existing rating and perform "incremental" training |
void |
removeUser(int user_id)
Remove a user from the recommender model, and delete all their ratings
It is up to the recommender implementor whether there should be model updates after this
action, both options are valid. |
void |
train()
Learn the model parameters of the recommender from the training data |
void |
updateRating(int user_id,
int item_id,
double rating)
Update an existing rating and perform incremental training |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
UserAverage
public UserAverage()
train
public void train()
- Description copied from interface:
IRecommender
- Learn the model parameters of the recommender from the training data
- Specified by:
train
in interface IRecommender
- Specified by:
train
in class RatingPredictor
canPredict
public boolean canPredict(int user_id,
int item_id)
- Description copied from interface:
IRecommender
- Check whether a useful prediction can be made for a given user-item combination.
- Specified by:
canPredict
in interface IRecommender
- Overrides:
canPredict
in class RatingPredictor
- Parameters:
user_id
- the user IDitem_id
- the item ID
- Returns:
- true if a useful prediction can be made, false otherwise
predict
public double predict(int user_id,
int item_id)
- Description copied from interface:
IRecommender
- Predict the rating or score for a given user-item combination.
- Specified by:
predict
in interface IRecommender
- Specified by:
predict
in class RatingPredictor
- Parameters:
user_id
- the user IDitem_id
- the item ID
- Returns:
- the predicted score/rating for the given user-item combination
addRating
public void addRating(int user_id,
int item_id,
double rating)
- Description copied from interface:
IIncrementalRatingPredictor
- Add a new rating and perform incremental training
- Specified by:
addRating
in interface IIncrementalRatingPredictor
- Overrides:
addRating
in class IncrementalRatingPredictor
- Parameters:
user_id
- the ID of the user who performed the ratingitem_id
- the ID of the rated itemrating
- the rating value
updateRating
public void updateRating(int user_id,
int item_id,
double rating)
- Description copied from interface:
IIncrementalRatingPredictor
- Update an existing rating and perform incremental training
- Specified by:
updateRating
in interface IIncrementalRatingPredictor
- Overrides:
updateRating
in class IncrementalRatingPredictor
- Parameters:
user_id
- the ID of the user who performed the ratingitem_id
- the ID of the rated itemrating
- the rating value
removeRating
public void removeRating(int user_id,
int item_id)
- Description copied from interface:
IIncrementalRatingPredictor
- Remove an existing rating and perform "incremental" training
- Specified by:
removeRating
in interface IIncrementalRatingPredictor
- Overrides:
removeRating
in class IncrementalRatingPredictor
- Parameters:
user_id
- the ID of the user who performed the ratingitem_id
- the ID of the rated item
addUser
public void addUser(int user_id)
- Overrides:
addUser
in class IncrementalRatingPredictor
removeUser
public void removeUser(int user_id)
- Description copied from interface:
IIncrementalRatingPredictor
- Remove a user from the recommender model, and delete all their ratings
It is up to the recommender implementor whether there should be model updates after this
action, both options are valid.
- Specified by:
removeUser
in interface IIncrementalRatingPredictor
- Overrides:
removeUser
in class IncrementalRatingPredictor
- Parameters:
user_id
- the ID of the user to be removed