|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.planetj.taste.impl.recommender.AbstractRecommender
com.planetj.taste.impl.recommender.ItemAverageRecommender
public final class ItemAverageRecommender
A simple recommender that always estimates preference for an Item to be the average of
all known preference values for that Item. No information about Users is taken into
account. This implementation is provided for experimentation; while simple and fast, it may not
produce very good recommendations.
| Constructor Summary | |
|---|---|
ItemAverageRecommender(DataModel dataModel)
|
|
| Method Summary | |
|---|---|
double |
estimatePreference(java.lang.Object userID,
java.lang.Object itemID)
|
java.util.List<RecommendedItem> |
recommend(java.lang.Object userID,
int howMany,
Rescorer<Item> rescorer)
|
void |
refresh()
Triggers "refresh" -- whatever that means -- of the implementation. The general contract is that
any |
void |
removePreference(java.lang.Object userID,
java.lang.Object itemID)
Default implementation which just calls
|
void |
setPreference(java.lang.Object userID,
java.lang.Object itemID,
double value)
Default implementation which just calls |
java.lang.String |
toString()
|
| Methods inherited from class com.planetj.taste.impl.recommender.AbstractRecommender |
|---|
getAllOtherItems, getDataModel, recommend |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ItemAverageRecommender(DataModel dataModel)
| Method Detail |
|---|
@NotNull
public java.util.List<RecommendedItem> recommend(java.lang.Object userID,
int howMany,
Rescorer<Item> rescorer)
throws TasteException
userID - user for which recommendations are to be computedhowMany - desired number of recommendationsrescorer - rescoring function to apply before final list of recommendations is determined
List of recommended RecommendedItems, ordered from most strongly
recommend to least
TasteException - if an error occurs while accessing the DataModel
public double estimatePreference(java.lang.Object userID,
java.lang.Object itemID)
throws TasteException
userID - user ID whose preference is to be estimateditemID - item ID to estimate preference for
Double.NaN
TasteException - if an error occurs while accessing the DataModel
public void setPreference(java.lang.Object userID,
java.lang.Object itemID,
double value)
throws TasteException
Default implementation which just calls DataModel.setPreference(Object, Object, double).
setPreference in interface RecommendersetPreference in class AbstractRecommenderuserID - user to set preference foritemID - item to set preference forvalue - preference value
TasteException - if an error occurs while accessing the DataModel
public void removePreference(java.lang.Object userID,
java.lang.Object itemID)
throws TasteException
Default implementation which just calls
DataModel.removePreference(Object, Object) (Object, Object)}.
removePreference in interface RecommenderremovePreference in class AbstractRecommenderuserID - user from which to remove preferenceitemID - item for which to remove preference
TasteException - if an error occurs while accessing the DataModelpublic void refresh()
Triggers "refresh" -- whatever that means -- of the implementation. The general contract is that
any Refreshable should always leave itself in a consistent, operational state, and that
the refresh atomically updates internal state from old to new.
refresh in interface Refreshablerefresh in class AbstractRecommender@NotNull public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||