hopwise.model.general_recommender.slimelastic¶
- Reference:
Xia Ning et al. “SLIM: Sparse Linear Methods for Top-N Recommender Systems.” in ICDM 2011.
- Reference code:
https://github.com/KarypisLab/SLIM https://github.com/MaurizioFD/RecSys2019_DeepLearning_Evaluation/blob/master/SLIM_ElasticNet/SLIMElasticNetRecommender.py
Classes¶
SLIMElastic is a sparse linear method for top-K recommendation, which learns |
Module Contents¶
- class hopwise.model.general_recommender.slimelastic.SLIMElastic(config, dataset)¶
Bases:
hopwise.model.abstract_recommender.GeneralRecommenderSLIMElastic is a sparse linear method for top-K recommendation, which learns a sparse aggregation coefficient matrix by solving an L1-norm and L2-norm regularized optimization problem.
- input_type¶
- type¶
- hide_item¶
- alpha¶
- l1_ratio¶
- positive_only¶
- dummy_param¶
- interaction_matrix¶
- item_similarity¶
- other_parameter_name = ['interaction_matrix', 'item_similarity']¶
- forward()¶
- calculate_loss(interaction)¶
Calculate the training loss for a batch data.
- Parameters:
interaction (Interaction) – Interaction class of the batch.
- Returns:
Training loss, shape: []
- Return type:
torch.Tensor
- predict(interaction)¶
Predict the scores between users and items.
- Parameters:
interaction (Interaction) – Interaction class of the batch.
- Returns:
Predicted scores for given users and items, shape: [batch_size]
- Return type:
torch.Tensor
- full_sort_predict(interaction)¶
Full sort prediction function. Given users, calculate the scores between users and all candidate items.
- Parameters:
interaction (Interaction) – Interaction class of the batch.
- Returns:
Predicted scores for given users and all candidate items, shape: [n_batch_users * n_candidate_items]
- Return type:
torch.Tensor