MyMediaLite
3.03
|
k-nearest neighbor (kNN) item-based collaborative filtering using the correlation of the item attibutes More...
Public Member Functions | |
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. | |
Object | Clone () |
create a shallow copy of the object | |
float | GetItemSimilarity (int item_id1, int item_id2) |
get the similarity between two items | |
IList< int > | GetMostSimilarItems (int item_id, uint n=10) |
get the most similar items | |
override void | LoadModel (string filename) |
Get the model parameters from a file. | |
override float | Predict (int user_id, int item_id) |
Predict rating or score for a given user-item combination. | |
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. | |
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 | 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. | |
Protected Attributes | |
IBinaryDataCorrelationMatrix | correlation |
Correlation matrix over some kind of entity, e.g. users or items. | |
uint | k = 80 |
The number of neighbors to take into account for prediction. | |
IList< IList< int > > | nearest_neighbors |
Precomputed nearest neighbors. | |
Properties | |
float | Alpha [get, set] |
Alpha parameter for BidirectionalConditionalProbability. | |
BinaryCorrelationType | Correlation [get, set] |
The kind of correlation to use. | |
override IBooleanMatrix | DataMatrix [get] |
data matrix to learn the correlation from | |
virtual IPosOnlyFeedback | Feedback [get, set] |
the feedback data to be used for training | |
IBooleanMatrix | ItemAttributes [get, set] |
uint | K [get, set] |
The number of neighbors to take into account for prediction. | |
int | MaxItemID [get, set] |
Maximum item ID. | |
int | MaxUserID [get, set] |
Maximum user ID. | |
int | NumItemAttributes [get, set] |
float | Q [get, set] |
Exponent to be used for transforming the neighbor's weights. | |
bool | Weighted [get, set] |
Gets or sets a value indicating whether this MyMediaLite.ItemRecommendation.KNN is weighted. |
k-nearest neighbor (kNN) item-based collaborative filtering using the correlation of the item attibutes
This recommender does NOT support incremental updates.
virtual bool CanPredict | ( | int | user_id, |
int | item_id | ||
) | [inline, virtual, inherited] |
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 BiPolarSlopeOne, SlopeOne, Constant, GlobalAverage, UserAverage, ItemAverage, and Random.
Object Clone | ( | ) | [inline, inherited] |
create a shallow copy of the object
float GetItemSimilarity | ( | int | item_id1, |
int | item_id2 | ||
) | [inline, inherited] |
get the similarity between two items
item_id1 | the ID of the first item |
item_id2 | the ID of the second item |
Implements IItemSimilarityProvider.
IList<int> GetMostSimilarItems | ( | int | item_id, |
uint | n = 10 |
||
) | [inline, inherited] |
get the most similar items
item_id | the ID of the item |
n | the number of similar items to return |
Implements IItemSimilarityProvider.
override void LoadModel | ( | string | filename | ) | [inline, virtual, inherited] |
Get the model parameters from a file.
filename | the name of the file to read from |
Reimplemented from Recommender.
override float Predict | ( | int | user_id, |
int | item_id | ||
) | [inline, virtual, inherited] |
Predict rating or score for a given user-item combination.
user_id | the user ID |
item_id | the item ID |
Implements Recommender.
IList<Tuple<int, float> > Recommend | ( | int | user_id, |
int | n = -1 , |
||
ICollection< int > | ignore_items = null , |
||
ICollection< int > | candidate_items = null |
||
) | [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.
override void SaveModel | ( | string | filename | ) | [inline, virtual, inherited] |
Save the model parameters to a file.
filename | the name of the file to write to |
Reimplemented from Recommender.
override string ToString | ( | ) | [inline, inherited] |
Return a string representation of the recommender.
The ToString() method of recommenders should list the class name and all hyperparameters, separated by space characters.
Reimplemented from Recommender.
IBinaryDataCorrelationMatrix correlation [protected, inherited] |
Correlation matrix over some kind of entity, e.g. users or items.
uint k = 80 [protected, inherited] |
The number of neighbors to take into account for prediction.
IList<IList<int> > nearest_neighbors [protected, inherited] |
Precomputed nearest neighbors.
float Alpha [get, set, inherited] |
Alpha parameter for BidirectionalConditionalProbability.
BinaryCorrelationType Correlation [get, set, inherited] |
The kind of correlation to use.
override IBooleanMatrix DataMatrix [get, protected] |
data matrix to learn the correlation from
Reimplemented from ItemKNN.
virtual IPosOnlyFeedback Feedback [get, set, inherited] |
the feedback data to be used for training
IBooleanMatrix ItemAttributes [get, set] |
the binary item attributes
Implements IItemAttributeAwareRecommender.
uint K [get, set, inherited] |
The number of neighbors to take into account for prediction.
int MaxItemID [get, set, inherited] |
Maximum item ID.
int MaxUserID [get, set, inherited] |
Maximum user ID.
int NumItemAttributes [get, set] |
an integer stating the number of attributes
Implements IItemAttributeAwareRecommender.
float Q [get, set, inherited] |
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
bool Weighted [get, set, inherited] |
Gets or sets a value indicating whether this MyMediaLite.ItemRecommendation.KNN is weighted.
TODO add literature reference