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

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.GeneralRecommender

SLIMElastic 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