
LightFM is a Python implementation of LightFM, a hybrid recommendation algorithm.
LightFM is a Python implementation of a number of popular recommendation algorithms for both implicit and explicit feedback, including efficient implementation of BPR and WARP ranking losses. It’s easy to use, fast (via multithreaded model estimation), and produces high-quality results.
It also makes it possible to incorporate both item and user metadata into the traditional matrix factorization algorithms. It represents each user and item as the sum of the latent representations of their features, thus allowing recommendations to generalize to new items (via item features) and to new users (via user features).
The details of the approach are described in the LightFM paper, available on arXiv.
Spotlight uses PyTorch to build both deep and shallow recommender models. By providing both a slew of building blocks for loss functions (various pointwise and pairwise ranking losses), representations (shallow factorization representations, deep sequence models), and utilities for fetching (or generating) recommendation datasets, it aims to be a tool for rapid exploration and prototyping of new recommender models.
Spotlight provides a range of models and utilities for fitting next item recommendation models, including
Spotlight offers a slew of popular datasets, including Movielens 100K, 1M, 10M, and 20M. It also incorporates utilities for creating synthetic datasets.
Implicit is a Fast Python Collaborative Filtering for Implicit Feedback Datasets.
This project provides fast Python implementations of several different popular recommendation algorithms for implicit feedback datasets:
All models have multi-threaded training routines, using Cython and OpenMP to fit the models in parallel among all available CPU cores. In addition, the ALS and BPR models both have custom CUDA kernels — enabling fitting on compatible GPU’s. Approximate nearest neighbors libraries such as Annoy, NMSLIB, and Faiss can also be used by Implicit to speed up making recommendations.
Seldon Server is a Machine Learning Platform and Recommendation Engine built on Kubernetes.
It provides an open-source data science stack that runs within a Kubernetes Cluster. You can use Seldon to deploy machine learning and deep learning models into production on-premise or in the cloud (e.g. GCP, AWS, Azure).
It includes an API with two key endpoints:
- Predict — Build and deploy supervised machine learning models created in any machine learning library or framework at scale using containers and microservices.
- Recommend — High-performance user activity and content-based recommendation engine with various algorithms ready to run out of the box.
Tensorrec is a TensorFlow recommendation algorithm and framework in Python.
TensorRec is a Python recommendation system that allows you to quickly develop recommendation algorithms and customize them using TensorFlow.
TensorRec lets you customize your recommendation system’s representation/embedding functions and loss functions while TensorRec handles the data manipulation, scoring, and ranking to generate recommendations.
A TensorRec system consumes three pieces of data: user_features
, item_features
, and interactions
. It uses this data to learn to make and rank recommendations.
For more information, and for an outline of this project, please read this blog post.
For an introduction to building recommender systems, please see these slides.