API References
Evaluators
Evaluates recommenders' performance against validation set. |
|
Evaluates recommenders' performance against cold (unseen) users. |
Recommenders
The base class for all (hot) recommenders. |
|
A simple recommender system based on the popularity of the items in the training set (without any personalization). |
|
Implementation of implicit Alternating Least Squares (iALS) or Weighted Matrix Factorization (WMF). |
|
Recommendation with 3-steps random walk, proposed in |
|
3-Path random walk with the item-popularity penalization: |
|
Use (randomized) SVD to factorize the input matrix into low-rank matrices. |
|
K-nearest neighbor recommender system based on cosine similarity. |
|
K-nearest neighbor recommender system based on asymmetric cosine similarity. |
|
K-nearest neighbor recommender system based on Jaccard similarity. |
|
K-nearest neighbor recommender system based on Tversky Index. |
|
K-nearest neighbor recommender system based on cosine similarity. |
|
K-nearest neighbor recommender system based on asymmetric cosine similarity. |
|
SLIM with ElasticNet-type loss function: |
|
Implementation of DenseSLIM or Embarrassingly Shallow AutoEncoder (EASE ^R). |
|
Get recommender class from its class name. |
A LightFM wrapper for BPR matrix factorization (requires a separate installation of lightFM).
A LightFM wrapper for our interface. |
As a reference code based on neural networks, we have implemented a JAX version of Mult-VAE,
which requires jax
, jaxlib
, dm-haiku
, and optax
:
JAX implementation of Mult-VAE, presented in "Variational Autoencoders for Collaborative Filtering". |
Split Functions
A class to hold users' train & test (if any) interactions and their ids. |
|
Splits the non-zero elements of a sparse matrix into two (train & test interactions). |
|
Splits the DataFrame and build an interaction matrix, holding out random interactions for a subset of randomly selected users (whom we call "validation users" and "test users"). |
|
Holds-out (part of) the interactions specified by the users. |
|
Split a dataframe holding out last n_heldout or last heldout_ratio part of interactions of the users. |
Utilities
A utility class that helps mapping item IDs to indices or vice versa. |
|
A utility class that helps mapping user/item IDs to indices or vice versa. |
Dataset
Manages MovieLens 1M dataset. |
|
Manages MovieLens 100K dataset. |
|
Manages MovieLens 1M dataset split under 1-vs-100 negative evaluation protocol. |