|
MyMediaLite
3.11
|
k-nearest neighbor (kNN) user-based collaborative filtering using the correlation of the user attibutes More...
Public Member Functions | |
| override void | AddFeedback (ICollection< Tuple< int, int >> feedback) |
| Add positive feedback events and perform incremental training More... | |
| virtual 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 More... | |
| Object | Clone () |
| create a shallow copy of the object More... | |
| IList< int > | GetMostSimilarUsers (int user_id, uint n=10) |
| get the most similar users More... | |
| float | GetUserSimilarity (int user_id1, int user_id2) |
| get the similarity between two users More... | |
| override void | LoadModel (string filename) |
| Get the model parameters from a file More... | |
| override float | Predict (int user_id, int item_id) |
| Predict rating or score for a given user-item combination More... | |
| 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 More... | |
| virtual System.Collections.Generic.IList< Tuple< int, float > > | Recommend (int user_id, int n=-1, System.Collections.Generic.ICollection< int > ignore_items=null, System.Collections.Generic.ICollection< int > candidate_items=null) |
| override void | RemoveFeedback (ICollection< Tuple< int, int >> feedback) |
| Remove all feedback events by the given user-item combinations More... | |
| virtual void | RemoveItem (int item_id) |
| Remove all feedback by one item More... | |
| virtual void | RemoveUser (int user_id) |
| Remove all feedback by one user More... | |
| override void | SaveModel (string filename) |
| Save the model parameters to a file More... | |
| IList< Tuple< int, float > > | ScoreItems (IList< int > accessed_items, IList< int > candidate_items) |
| Score a list of items given a list of items that represent a new user More... | |
| override string | ToString () |
| Return a string representation of the recommender More... | |
| override void | Train () |
| Learn the model parameters of the recommender from the training data More... | |
Protected Member Functions | |
| virtual void | AddItem (int item_id) |
| override void | AddUser (int user_id) |
| virtual IList< float > | FoldIn (IList< int > items) |
| Fold in one user, identified by their items More... | |
| void | RecomputeNeighbors (ICollection< int > update_entities) |
| void | ResizeNearestNeighbors (int new_size) |
| Resizes the nearest neighbors list if necessary More... | |
| void | Update (ICollection< Tuple< int, int >> feedback) |
| Update the correlation matrix for the given feedback More... | |
Protected Attributes | |
| IBinaryDataCorrelationMatrix | correlation_matrix |
| Correlation matrix over some kind of entity, e.g. users or items More... | |
| uint | k = 80 |
| The number of neighbors to take into account for prediction More... | |
| IList< IList< int > > | nearest_neighbors |
| Precomputed nearest neighbors More... | |
Properties | |
| float | Alpha [get, set] |
| Alpha parameter for BidirectionalConditionalProbability More... | |
| BinaryCorrelationType | Correlation [get, set] |
| The kind of correlation to use More... | |
| override IBooleanMatrix | DataMatrix [get] |
| virtual IPosOnlyFeedback | Feedback [get, set] |
| the feedback data to be used for training More... | |
| uint | K [get, set] |
| The number of neighbors to take into account for prediction More... | |
| int | MaxItemID [get, set] |
| Maximum item ID More... | |
| int | MaxUserID [get, set] |
| Maximum user ID More... | |
| int | NumUserAttributes [get] |
| float | Q [get, set] |
| Exponent to be used for transforming the neighbor's weights More... | |
| bool | UpdateItems [get, set] |
| bool | UpdateUsers [get, set] |
| IBooleanMatrix | UserAttributes [get, set] |
| bool | Weighted [get, set] |
| Gets or sets a value indicating whether this MyMediaLite.ItemRecommendation.KNN is weighted. More... | |
k-nearest neighbor (kNN) user-based collaborative filtering using the correlation of the user attibutes
This recommender does NOT support incremental updates.
|
inlinevirtualinherited |
Add positive feedback events and perform incremental training
| feedback | collection of user id - item id tuples |
Reimplemented from IncrementalItemRecommender.
|
inlinevirtualinherited |
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.
| user_id | the user ID |
| item_id | the item ID |
Implements IRecommender.
Reimplemented in ExternalItemRecommender, ExternalRatingPredictor, BiPolarSlopeOne, SlopeOne, Constant, GlobalAverage, UserAverage, ItemAverage, and Random.
|
inlineinherited |
create a shallow copy of the object
|
inlineprotectedvirtualinherited |
Fold in one user, identified by their items
| items | the items representing the user |
|
inlineinherited |
get the most similar users
| user_id | the ID of the user |
| n | the number of similar users to return |
Implements IUserSimilarityProvider.
|
inlineinherited |
get the similarity between two users
| user_id1 | the ID of the first user |
| user_id2 | the ID of the second user |
Implements IUserSimilarityProvider.
|
inlinevirtualinherited |
Get the model parameters from a file
| filename | the name of the file to read from |
Reimplemented from Recommender.
|
inlineinherited |
Predict rating or score for a given user-item combination
| user_id | the user ID |
| item_id | the item ID |
Implements IRecommender.
|
inherited |
Recommend items for a given user
| user_id | the user ID |
| n | the number of items to recommend, -1 for as many as possible |
| ignore_items | collection if items that should not be returned; if null, use empty collection |
| candidate_items | the candidate items to choose from; if null, use all items |
Implemented in WeightedEnsemble, and Ensemble.
|
inlinevirtualinherited |
Remove all feedback events by the given user-item combinations
| feedback | collection of user id - item id tuples |
Reimplemented from IncrementalItemRecommender.
|
inlinevirtualinherited |
Remove all feedback by one item
| item_id | the item ID |
Implements IIncrementalRecommender.
Reimplemented in BPRMF, BPRSLIM, LeastSquareSLIM, MF, and MostPopular.
|
inlinevirtualinherited |
Remove all feedback by one user
| user_id | the user ID |
Implements IIncrementalRecommender.
Reimplemented in LeastSquareSLIM, MF, and MostPopular.
|
inlineprotectedinherited |
Resizes the nearest neighbors list if necessary
| new_size | the new size |
|
inlinevirtualinherited |
Save the model parameters to a file
| filename | the name of the file to write to |
Reimplemented from Recommender.
|
inlineinherited |
Score a list of items given a list of items that represent a new user
| accessed_items | the ratings (item IDs and rating values) representing the new user |
| candidate_items | the items to be rated |
Implements IFoldInItemRecommender.
|
inlineinherited |
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.
|
inlinevirtualinherited |
Learn the model parameters of the recommender from the training data
Reimplemented from KNN.
|
inlineprotectedinherited |
Update the correlation matrix for the given feedback
| feedback | the feedback (user-item tuples) |
|
protectedinherited |
Correlation matrix over some kind of entity, e.g. users or items
|
protectedinherited |
The number of neighbors to take into account for prediction
|
protectedinherited |
Precomputed nearest neighbors
|
getsetinherited |
Alpha parameter for BidirectionalConditionalProbability
|
getsetinherited |
The kind of correlation to use
|
getsetinherited |
the feedback data to be used for training
|
getsetinherited |
The number of neighbors to take into account for prediction
|
getsetinherited |
Maximum item ID
|
getsetinherited |
Maximum user ID
|
getsetinherited |
Exponent to be used for transforming the neighbor's weights
A value of 0 leads to counting of the relevant neighbors. 1 is the usual weighted prediction. Values greater than 1 give higher weight to higher correlated neighbors.
TODO LIT
|
getsetinherited |
Gets or sets a value indicating whether this MyMediaLite.ItemRecommendation.KNN is weighted.
TODO add literature reference
1.8.9.1