Top 5 Open-Source Machine Learning Recommender System Projects With Resources
By: Mrinal Walia
Tags: Python, Data Science, Artificial Intelligence, Machine Learning, Recommendation System

1. LightFM

LightFM is a Python implementation of LightFM, a hybrid recommendation algorithm.

LightFM is a Python implementation of several popular recommendation algorithms for implicit and explicit feedback, including efficient 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 things (via article features) and new users (via user features).

The details of the approach are described in the LightFM paper, available on arXiv.

Trending AI Articles:

2. Spotlight

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

pooling models, as in YouTube recommendations ,

LSTM models, as in Session-based recommendations… , and

causal convolution models, as in WaveNet.

Spotlight offers a slew of popular datasets, including Movielens 100K, 1M, 10M, and 20M. It also incorporates utilities for creating synthetic datasets.

3. Implicit

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 GPUs. Approximate nearest neighbours libraries such as Annoy, NMSLIB, and Faiss can also be used by Implicit to speed up making recommendations.

4. Seldon Server

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.

5. Tensorrec

Tensorrec is a TensorFlow recommendation algorithm and framework in Python.

TensorRec is a Python recommendation system that allows you to develop recommendation algorithms and customize them using TensorFlow quickly.

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.