Attribute-aware weighted item-based kNN recommender. More...
Public Member Functions | |
| override void | Add (int user_id, int item_id, double rating) |
| override void | AddItem (int item_id) |
| override void | AddUser (int user_id) |
| virtual bool | CanPredict (int user_id, int item_id) |
| Check whether a useful prediction can be made for a given user-item combination. | |
| Object | Clone () |
| create a shallow copy of the object | |
| override void | LoadModel (string filename) |
| Get the model parameters from a file. | |
| override double | Predict (int user_id, int item_id) |
| Predict the rating of a given user for a given item. | |
| virtual void | RemoveItem (int item_id) |
| override void | RemoveRating (int user_id, int item_id) |
| virtual void | RemoveUser (int user_id) |
| override void | SaveModel (string filename) |
| Save the model parameters to a file. | |
| override string | ToString () |
| Return a string representation of the recommender. | |
| override void | Train () |
| Learn the model parameters of the recommender from the training data. | |
| override void | UpdateRating (int user_id, int item_id, double rating) |
Protected Member Functions | |
| override void | InitModel () |
| Inits the recommender model. | |
| virtual void | RetrainItem (int item_id) |
| virtual void | RetrainUser (int user_id) |
Protected Attributes | |
| CorrelationMatrix | correlation |
| Correlation matrix over some kind of entity. | |
| SparseBooleanMatrix | data_item |
| Matrix indicating which item was rated by which user. | |
| Func< int, IList< int > > | GetPositivelyCorrelatedEntities |
| Get positively correlated entities. | |
| double | max_rating |
| The max rating value. | |
| double | min_rating |
| The min rating value. | |
| IRatings | ratings |
| rating data | |
Properties | |
| SparseBooleanMatrix | ItemAttributes [get, set] |
| uint | K [get, set] |
| Number of neighbors to take into account for predictions. | |
| int | MaxItemID [get, set] |
| Maximum item ID. | |
| virtual double | MaxRating [get, set] |
| The max rating value. | |
| int | MaxUserID [get, set] |
| Maximum user ID. | |
| virtual double | MinRating [get, set] |
| The min rating value. | |
| int | NumItemAttributes [get, set] |
| override IRatings | Ratings [set] |
| The rating data. | |
| double | RegI [get, set] |
| Regularization parameter for the item biases. | |
| double | RegU [get, set] |
| Regularization parameter for the user biases. | |
| bool | UpdateItems [get, set] |
| true if items shall be updated when doing online updates | |
| bool | UpdateUsers [get, set] |
| true if users shall be updated when doing online updates | |
Attribute-aware weighted item-based kNN recommender.
This engine does NOT support online updates.
| virtual bool CanPredict | ( | int | user_id, | |
| int | item_id | |||
| ) | [virtual, inherited] |
Check whether a useful prediction can be made for a given user-item combination.
| user_id | the user ID | |
| item_id | the item ID |
Implements IRecommender.
Reimplemented in BiPolarSlopeOne, GlobalAverage, ItemAverage, SlopeOne, and UserAverage.
| Object Clone | ( | ) | [inherited] |
create a shallow copy of the object
| override void InitModel | ( | ) | [protected, virtual, inherited] |
Inits the recommender model.
This method is called by the Train() method. When overriding, please call base.InitModel() to get the functions performed in the base class.
Reimplemented from RatingPredictor.
| override void LoadModel | ( | string | filename | ) | [virtual, inherited] |
Get the model parameters from a file.
| filename | the name of the file to read from |
Reimplemented from KNN.
| override double Predict | ( | int | user_id, | |
| int | item_id | |||
| ) | [virtual, inherited] |
Predict the rating of a given user for a given item.
If the user or the item are not known to the engine, a suitable average is returned. To avoid this behavior for unknown entities, use CanPredict() to check before.
| user_id | the user ID | |
| item_id | the item ID |
Reimplemented from UserItemBaseline.
| override void SaveModel | ( | string | filename | ) | [virtual, inherited] |
Save the model parameters to a file.
| filename | the name of the file to write to |
Reimplemented from UserItemBaseline.
| override string ToString | ( | ) |
Return a string representation of the recommender.
The ToString() method of recommenders should list the class name and all hyperparameters, separated by space characters.
Implements IRecommender.
CorrelationMatrix correlation [protected, inherited] |
Correlation matrix over some kind of entity.
SparseBooleanMatrix data_item [protected, inherited] |
Matrix indicating which item was rated by which user.
Func<int, IList<int> > GetPositivelyCorrelatedEntities [protected, inherited] |
Get positively correlated entities.
double max_rating [protected, inherited] |
The max rating value.
double min_rating [protected, inherited] |
The min rating value.
SparseBooleanMatrix ItemAttributes [get, set] |
The binary item attributes
Implements IItemAttributeAwareRecommender.
uint K [get, set, inherited] |
Number of neighbors to take into account for predictions.
int MaxItemID [get, set, inherited] |
Maximum item ID.
Maximum item ID
virtual double MaxRating [get, set, inherited] |
int MaxUserID [get, set, inherited] |
Maximum user ID.
Maximum user ID
virtual double MinRating [get, set, inherited] |
int NumItemAttributes [get, set] |
an integer stating the number of attributes
Implements IItemAttributeAwareRecommender.
The rating data.
Reimplemented from RatingPredictor.
double RegI [get, set, inherited] |
Regularization parameter for the item biases.
If not set, the recommender will try to find suitable values.
double RegU [get, set, inherited] |
Regularization parameter for the user biases.
If not set, the recommender will try to find suitable values.
bool UpdateItems [get, set, inherited] |
true if items shall be updated when doing online updates
true if items shall be updated when doing online updates
bool UpdateUsers [get, set, inherited] |
true if users shall be updated when doing online updates
true if users shall be updated when doing online updates
1.6.3