org.mymedialite.ratingprediction
Class UserAverage

java.lang.Object
  extended by org.mymedialite.ratingprediction.RatingPredictor
      extended by org.mymedialite.ratingprediction.IncrementalRatingPredictor
          extended by org.mymedialite.ratingprediction.EntityAverage
              extended by 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.


Field Summary
 
Fields inherited from class org.mymedialite.ratingprediction.EntityAverage
entity_averages, global_average
 
Fields inherited from class org.mymedialite.ratingprediction.IncrementalRatingPredictor
updateItems, updateUsers
 
Fields inherited from class org.mymedialite.ratingprediction.RatingPredictor
maxItemID, maxRating, maxUserID, minRating, ratings
 
Constructor Summary
UserAverage()
           
 
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 org.mymedialite.ratingprediction.EntityAverage
get, loadModel, retrain, saveModel, train
 
Methods inherited from class org.mymedialite.ratingprediction.IncrementalRatingPredictor
addItem, getUpdateItems, getUpdateUsers, removeItem, setUpdateItems, setUpdateUsers
 
Methods inherited from class org.mymedialite.ratingprediction.RatingPredictor
clone, getMaxRating, getMinRating, getRatings, setMaxRating, setMinRating, setRatings, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mymedialite.ratingprediction.IRatingPredictor
getMaxRating, getMinRating, setMaxRating, setMinRating
 
Methods inherited from interface org.mymedialite.IRecommender
toString
 

Constructor Detail

UserAverage

public UserAverage()
Method Detail

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 ID
item_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 ID
item_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 rating
item_id - the ID of the rated item
rating - 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 rating
item_id - the ID of the rated item
rating - 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 rating
item_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