Neighborhood-based Models

Elliot integrates, to date, 50 recommendation models partitioned into two sets. The first set includes 38 popular models implemented in at least two of frameworks reviewed in this work (i.e., adopting a framework-wise popularity notion).

Summary

item_knn.item_knn.ItemKNN(data, config, …)

Amazon.com recommendations: item-to-item collaborative filtering

user_knn.user_knn.UserKNN(data, config, …)

GroupLens: An Open Architecture for Collaborative Filtering of Netnews

attribute_item_knn.attribute_item_knn.AttributeItemKNN(…)

Attribute Item-kNN proposed in MyMediaLite Recommender System Library

attribute_user_knn.attribute_user_knn.AttributeUserKNN(…)

Attribute User-kNN proposed in MyMediaLite Recommender System Library

ItemKNN

class elliot.recommender.NN.item_knn.item_knn.ItemKNN(data, config, params, *args, **kwargs)[source]

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

Amazon.com recommendations: item-to-item collaborative filtering

For further details, please refer to the paper

Parameters
  • neighbors – Number of item neighbors

  • similarity – Similarity function

  • implementation – Implementation type (‘aiolli’, ‘classical’)

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

models:
  ItemKNN:
    meta:
      save_recs: True
    neighbors: 40
    similarity: cosine
    implementation: aiolli

UserKNN

class elliot.recommender.NN.user_knn.user_knn.UserKNN(data, config, params, *args, **kwargs)[source]

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

GroupLens: An Open Architecture for Collaborative Filtering of Netnews

For further details, please refer to the paper

Parameters
  • neighbors – Number of item neighbors

  • similarity – Similarity function

  • implementation – Implementation type (‘aiolli’, ‘classical’)

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

models:
  UserKNN:
    meta:
      save_recs: True
    neighbors: 40
    similarity: cosine
    implementation: aiolli

AttributeItemKNN

class elliot.recommender.NN.attribute_item_knn.attribute_item_knn.AttributeItemKNN(data, config, params, *args, **kwargs)[source]

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

Attribute Item-kNN proposed in MyMediaLite Recommender System Library

For further details, please refer to the paper

Parameters
  • neighbors – Number of item neighbors

  • similarity – Similarity function

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

models:
  AttributeItemKNN:
    meta:
      save_recs: True
    neighbors: 40
    similarity: cosine

AttributeUserKNN

class elliot.recommender.NN.attribute_user_knn.attribute_user_knn.AttributeUserKNN(data, config, params, *args, **kwargs)[source]

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

Attribute User-kNN proposed in MyMediaLite Recommender System Library

For further details, please refer to the paper

Parameters
  • neighbors – Number of item neighbors

  • similarity – Similarity function

  • profile – Profile type (‘binary’, ‘tfidf’)

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

models:
  AttributeUserKNN:
    meta:
      save_recs: True
    neighbors: 40
    similarity: cosine
    profile: binary