I went on a spree to get some hands-on exposure in building simple recommender systems.
Disclaimer - All the contribution goes to the respective authors of the tutorials.
A collection of 75+ recommender notebooks
It is a diverse set of tutorials for building and serving (in some cases) recommender systems. 15+ datasets (including movielens, netflix, trivago, booking.com, and yoochoose) are used in building all kinds of models (like matrix factorization - als, svd, svd++, sgd, both implicit and explicit scenarios, neural matrix factorization). Libraries like Surprise, CaseRec, Cornac, Implicit and many others are fully leveraged to easily building these systems. On serving side, Kafka for streaming, PySpark for scaling, streamlit for front-end visualization and many other techniques are explored. Here is the direct link to view these notebooks in nbviewer.
Recommender Systems with TensorFlow on GCP
Google cloud provides a course on recommender systems. This course is part of the Advanced Machine Learning on Google Cloud Specialization. This course guides us on applying knowledge of classification models and embeddings to build a ML pipeline that functions as a recommendation engine. Tasks - Devise a content-based recommendation engine, Implement a collaborative filtering recommendation engine, and Build a hybrid recommendation engine with user and content embeddings. Here is the direct link to view associated notebooks in nbviewer.
Recommender Systems with Amazon Sagemaker and Personalize
Followings are the direct nbviewer links:
- Recommender Systems with Amazon Sagemaker
- Recommender Systems with Amazon Personalize
- Factorization Machine based Recommender Systems
Microsoft Recommender Tutorials
This repository contains examples and best practices for building recommendation systems, provided as Jupyter notebooks. The examples detail our learnings on five key tasks:
- Prepare Data: Preparing and loading data for each recommender algorithm
- Model: Building models using various classical and deep learning recommender algorithms such as Alternating Least Squares (ALS) or eXtreme Deep Factorization Machines (xDeepFM).
- Evaluate: Evaluating algorithms with offline metrics
- Model Select and Optimize: Tuning and optimizing hyperparameters for recommender models
- Operationalize: Operationalizing models in a production environment on Azure
The following summarizes each directory of the best practice notebooks.
RapidsAI Tutorial Series
This repository contains notebooks showcasing RAPIDS acceleration of dataframes on GPU into popular deep learning frameworks. The work can be broken down into three main sections:
- Dataloaders and preprocessing functionality developed to help provide connectivity between RAPIDS cuDF dataframes and the different deep learning libraries available.
- Improvements to optimizers through the fusion of GPU operations.
- Examples of the use of each of the above in competitions or on real world datasets.
Each deep learning library is contained within it's own subfolder, with the different dataloader options and examples contained within further subfolders. For now our focus is on PyTorch, however we expect to add other libraries in the future.
Tutorial on Sequence-Aware Recommender Systems
This repository contains the material used in the hands-on session of the tutorials on Sequence-Aware Recommenders authors gave at TheWebConf 2019 and ACM RecSys 2018. There is a collection of 7 notebooks explaining different approaches of building a sequence-aware recommender systems.