Implementations of various top-N recommender systems in PyTorch for practice.
Movielens 100k & 1M are used as datasets.
Model | Paper |
---|---|
BPRMF | Steffen Rendle et al., BPR: Bayesian Personalized Ranking from Implicit Feedback. UAI 2009. Link |
ItemKNN | Jun Wang et al., Unifying user-based and item-based collaborative filtering approaches by similarity fusion. SIGIR 2006. Link |
SLIM | Xia Ning et al., SLIM: Sparse Linear Methods for Top-N Recommender Systems. ICDM 2011. Link |
DAE, CDAE | Yao Wu et al., Collaborative denoising auto-encoders for top-n recommender systems. WSDM 2016.Link |
MultVAE | Dawen Liang et al., Variational Autoencoders for Collaborative Filtering. WWW 2018. Link |
EASE | Harald Steck, Embarrassingly Shallow Autoencoders for Sparse Data. WWW 2019. Link |
Model | Paper |
---|---|
P3a | Colin Cooper et al., Random Walks in Recommender Systems: Exact Computation and Simulations. WWW 2014. Link |
RP3b | Bibek Paudel et al., Updatable, accurate, diverse, and scalablerecommendations for interactive applications. TiiS 2017. Link |
GMF, MLP, NeuMF | Xiangnan He et al., Neural Collaborative Filtering. WWW 2017. Link |
NGCF | Xiang Wang, et al., Neural Graph Collaborative Filtering. SIGIR 2019. Link |
RecVAE | Athanasios N. Nikolakopoulos et al., RecWalk: Nearly Uncoupled Random Walks for Top-N Recommendation. WSDM 2019. Link |
- Choose RecSys model and edit configurations in main.py
- Edit configurations of the model you choose in 'conf'
- run 'main.py'
You can add your own model into the framework if:
- Your model inherits 'BaseModel' class in 'models/BaseModel.py'
- Implement necessary methods and add additional methods if you want.
- Make 'YourModel.conf' file in 'conf'
- Add your model in 'utils.ModelBuilder.py'
Some model implementations and util functions refers to these nice repositories.
- NeuRec: An open source neural recommender library. Repository
- RecSys 2019 - DeepLearning RS Evaluation. Paper Repository