Recoder

https://img.shields.io/badge/dynamic/json.svg?label=pypi&url=https%3A%2F%2Fpypi.org%2Fpypi%2Frecsys-recoder%2Fjson&query=%24.info.version&colorB=bluePypi version https://readthedocs.org/projects/recoder/badge/?version=latestDocs status https://travis-ci.org/amoussawi/recoder.svg?branch=masterBuild Status

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.6. 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.

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.