elliot.recommender.latent_factor_models.Slim package

Submodules

elliot.recommender.latent_factor_models.Slim.slim module

Module description:

class elliot.recommender.latent_factor_models.Slim.slim.Slim(data, config, params, *args, **kwargs)[source]

Bases: elliot.recommender.recommender_utils_mixin.RecMixin, elliot.recommender.base_recommender_model.BaseRecommenderModel

Train a Sparse Linear Methods (SLIM) item similarity model.
NOTE: ElasticNet solver is parallel, a single intance of SLIM_ElasticNet will

make use of half the cores available

See:

Efficient Top-N Recommendation by Linear Regression, M. Levy and K. Jack, LSRS workshop at RecSys 2013.

SLIM: Sparse linear methods for top-n recommender systems, X. Ning and G. Karypis, ICDM 2011. For further details, please refer to the paper

Parameters
  • l1_ratio

  • alpha

To include the recommendation model, add it to the config file adopting the following pattern:

models:
  Slim:
    meta:
      save_recs: True
    l1_ratio: 0.001
    alpha: 0.001
get_recommendations(k: int = 10)[source]
get_single_recommendation(mask, k, *args)[source]
property name
predict(u: int, i: int)[source]

Get prediction on the user item pair.

Returns

A single float vaue.

train()[source]

elliot.recommender.latent_factor_models.Slim.slim_model module

Module description:

class elliot.recommender.latent_factor_models.Slim.slim_model.SlimModel(data, num_users, num_items, l1_ratio, alpha, epochs, neighborhood, random_seed)[source]

Bases: object

get_model_state()[source]
get_user_recs(user, mask, k=100)[source]
load_weights(path)[source]
predict(u, i)[source]
prepare_predictions()[source]
save_weights(path)[source]
set_model_state(saving_dict)[source]
train(verbose)[source]

Module contents

Module description: