In this directory, notebooks are provided to demonstrate the use of different algorithms such as Alternating Least Squares (ALS) and Smart Adaptive Recommendations (SAR). The notebooks show how to establish an end-to-end recommendation pipeline that consists of data preparation, model building, and model evaluation by using the utility functions (reco_utils) available in the repo.
Notebook | Dataset | Environment | Description |
---|---|---|---|
als | MovieLens | PySpark | Utilizing ALS algorithm to predict movie ratings in a PySpark environment. |
dkn | Synthetic Data | Python CPU, GPU | Utilizing the Deep Knowledge-Aware Network (DKN) [2] algorithm for news recommendations using information from a knowledge graph, in a Python+GPU (TensorFlow) environment. |
fastai | MovieLens | Python CPU, GPU | Utilizing FastAI recommender to predict movie ratings in a Python+GPU (PyTorch) environment. |
lightgbm | Criteo | Python CPU | Utilizing LightGBM Boosting Tree to predict whether or not a user has clicked on an e-commerce ad |
ncf | MovieLens | Python CPU, GPU | Utilizing Neural Collaborative Filtering (NCF) [1] to predict movie ratings in a Python+GPU (TensorFlow) environment. |
rbm | MovieLens | Python CPU, GPU | Utilizing the Restricted Boltzmann Machine (rbm) [4] to predict movie ratings in a Python+GPU (TensorFlow) environment. |
sar | MovieLens | Python CPU | Utilizing Smart Adaptive Recommendations (SAR) algorithm to predict movie ratings in a Python+CPU environment. |
wide-and-deep | MovieLens | Python CPU, GPU | Utilizing Wide-and-Deep Model (Wide-and-Deep) [5] to predict movie ratings in a Python+GPU (TensorFlow) environment. |
xdeepfm | Synthetic Data | Python CPU, GPU | Utilizing the eXtreme Deep Factorization Machine (xDeepFM) [3] to learn both low and high order feature interactions for predicting CTR, in a Python+GPU (TensorFlow) environment. |
[1] Neural Collaborative Filtering, Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu and Tat-Seng Chua. WWW 2017.
[2] DKN: Deep Knowledge-Aware Network for News Recommendation, Hongwei Wang, Fuzheng Zhang, Xing Xie and Minyi Guo. WWW 2018.
[3] xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems, Jianxun Lian, Xiaohuan Zhou, Fuzheng Zhang, Zhongxia Chen, Xing Xie and Guangzhong Sun. KDD 2018.
[4] Restricted Boltzmann Machines for Collaborative Filtering, Ruslan Salakhutdinov, Andriy Mnih and Geoffrey Hinton. ICML 2007.
[5] Wide & Deep Learning for Recommender Systems, Heng-Tze Cheng et al., arXiv:1606.07792 2016.