Awesome
Recoder
Introduction
Recoder is a fast implementation for training collaborative filtering latent factor models with mini-batch based negative sampling following recent work:
Recoder contains two implementations of factorization models: Autoencoder and Matrix Factorization.
Check out the Documentation and the Tutorial.
Installation
Recommended to use python 3.8. Python 2 is not supported.
pip install -U recsys-recoder
Examples
Check out the scripts/
directory for some good examples on different datasets.
You can get MovieLens-20M dataset fully trained with mean squared error in less
than a minute on a Nvidia Tesla K80 GPU.
Further Readings
- Collaborative Filtering for Implicit Feedback Datasets
- Variational Autoencoders for Collaborative Filtering
Citing
Please cite this paper in your publications if it helps your research:
@inproceedings{recoder,
author = {Moussawi, Abdallah},
title = {Towards Large Scale Training Of Autoencoders For Collaborative Filtering},
booktitle = {Proceedings of Late-Breaking Results track part of the Twelfth ACM Conference on Recommender Systems},
series = {RecSys'18},
year = {2018},
address = {Vancouver, BC, Canada}
}
Acknowledgements
-
I would like to thank Anghami for supporting this work, and my colleagues, Helmi Rifai and Ramzi Karam, for great discussions on Collaborative Filtering at scale.
-
This project started as a fork of NVIDIA/DeepRecommender, and although it went in a slightly different direction and was entirely refactored, the work in NVIDIA/DeepRecommender was a great contribution to the work here.