MyMediaLite
3.08
|
Linear model optimized for BPR. 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 | ComputeObjective () |
Compute the current optimization objective (usually loss plus regularization term) of the model. | |
void | Iterate () |
Perform one iteration of stochastic gradient ascent over the training data. | |
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 Member Functions | |
void | SampleItemPair (int u, out int i, out int j) |
Sample a pair of items, given a user. | |
void | SampleTriple (out int u, out int i, out int j) |
Sample a triple for BPR learning. | |
int | SampleUser () |
Sample a user that has viewed at least one and not all items. | |
virtual void | UpdateFeatures (int u, int i, int j) |
Modified feature update method that exploits attribute sparsity. | |
Properties | |
virtual IPosOnlyFeedback | Feedback [get, set] |
the feedback data to be used for training | |
double | InitMean [get, set] |
mean of the Gaussian distribution used to initialize the features | |
double | InitStdev [get, set] |
standard deviation of the normal distribution used to initialize the features | |
IBooleanMatrix | ItemAttributes [get, set] |
float | LearnRate [get, set] |
Learning rate alpha. | |
int | MaxItemID [get, set] |
Maximum item ID. | |
int | MaxUserID [get, set] |
Maximum user ID. | |
int | NumItemAttributes [get, set] |
uint | NumIter [get, set] |
Number of iterations over the training data. | |
float | Regularization [get, set] |
Regularization parameter. |
Linear model optimized for BPR.
Literature:
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 ExternalItemRecommender, ExternalRatingPredictor, BiPolarSlopeOne, SlopeOne, Constant, GlobalAverage, UserAverage, ItemAverage, and Random.
Object Clone | ( | ) | [inline, inherited] |
create a shallow copy of the object
float ComputeObjective | ( | ) | [inline] |
Compute the current optimization objective (usually loss plus regularization term) of the model.
Implements IIterativeModel.
void Iterate | ( | ) | [inline] |
Perform one iteration of stochastic gradient ascent over the training data.
Implements IIterativeModel.
override void LoadModel | ( | string | filename | ) | [inline] |
Get the model parameters from a file.
filename | the name of the file to read from |
Implements IRecommender.
override float Predict | ( | int | user_id, |
int | item_id | ||
) | [inline] |
Predict rating or score for a given user-item combination.
user_id | the user ID |
item_id | the item ID |
Implements IRecommender.
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.
void SampleItemPair | ( | int | u, |
out int | i, | ||
out int | j | ||
) | [inline, protected] |
Sample a pair of items, given a user.
u | the user ID |
i | the ID of the first item |
j | the ID of the second item |
void SampleTriple | ( | out int | u, |
out int | i, | ||
out int | j | ||
) | [inline, protected] |
Sample a triple for BPR learning.
u | the user ID |
i | the ID of the first item |
j | the ID of the second item |
int SampleUser | ( | ) | [inline, protected] |
Sample a user that has viewed at least one and not all items.
override void SaveModel | ( | string | filename | ) | [inline] |
Save the model parameters to a file.
filename | the name of the file to write to |
Implements IRecommender.
override string ToString | ( | ) | [inline] |
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.
virtual void UpdateFeatures | ( | int | u, |
int | i, | ||
int | j | ||
) | [inline, protected, virtual] |
Modified feature update method that exploits attribute sparsity.
virtual IPosOnlyFeedback Feedback [get, set, inherited] |
the feedback data to be used for training
double InitMean [get, set] |
mean of the Gaussian distribution used to initialize the features
double InitStdev [get, set] |
standard deviation of the normal distribution used to initialize the features
IBooleanMatrix ItemAttributes [get, set] |
the binary item attributes
Implements IItemAttributeAwareRecommender.
float LearnRate [get, set] |
Learning rate alpha.
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.
uint NumIter [get, set] |
Number of iterations over the training data.
Implements IIterativeModel.
float Regularization [get, set] |
Regularization parameter.