All Projects → yoongi0428 → RecSys_PyTorch

yoongi0428 / RecSys_PyTorch

Licence: other
PyTorch implementations of Top-N recommendation, collaborative filtering recommenders.

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to RecSys PyTorch

Social-Recommendation
Summary of social recommendation papers and codes
Stars: ✭ 143 (+14.4%)
Mutual labels:  collaborative-filtering, recommender-system
SLRC
WWW'2019: Modeling Item-Specific Temporal Dynamics of Repeat Consumption for Recommender Systems
Stars: ✭ 32 (-74.4%)
Mutual labels:  collaborative-filtering, recommender-system
Implicit
Fast Python Collaborative Filtering for Implicit Feedback Datasets
Stars: ✭ 2,569 (+1955.2%)
Mutual labels:  collaborative-filtering, recommender-system
Movielens Recommender
A pure Python implement of Collaborative Filtering based on MovieLens' dataset.
Stars: ✭ 131 (+4.8%)
Mutual labels:  collaborative-filtering, recommender-system
svae cf
[ WSDM '19 ] Sequential Variational Autoencoders for Collaborative Filtering
Stars: ✭ 38 (-69.6%)
Mutual labels:  collaborative-filtering, recommender-system
Rsparse
Fast and accurate machine learning on sparse matrices - matrix factorizations, regression, classification, top-N recommendations.
Stars: ✭ 145 (+16%)
Mutual labels:  collaborative-filtering, recommender-system
Deep Learning For Recommendation Systems
This repository contains Deep Learning based articles , paper and repositories for Recommender Systems
Stars: ✭ 2,493 (+1894.4%)
Mutual labels:  collaborative-filtering, recommender-system
Neural collaborative filtering
Neural Collaborative Filtering
Stars: ✭ 1,243 (+894.4%)
Mutual labels:  collaborative-filtering, recommender-system
disentangled graph collaborative filtering
Disentagnled Graph Collaborative Filtering, SIGIR2020
Stars: ✭ 118 (-5.6%)
Mutual labels:  collaborative-filtering, recommender-system
slopeone
PHP implementation of the Weighted Slope One rating-based collaborative filtering scheme.
Stars: ✭ 85 (-32%)
Mutual labels:  collaborative-filtering, recommender-system
Rectorch
rectorch is a pytorch-based framework for state-of-the-art top-N recommendation
Stars: ✭ 121 (-3.2%)
Mutual labels:  collaborative-filtering, recommender-system
recommender system with Python
recommender system tutorial with Python
Stars: ✭ 106 (-15.2%)
Mutual labels:  collaborative-filtering, recommender-system
Enmf
This is our implementation of ENMF: Efficient Neural Matrix Factorization (TOIS. 38, 2020). This also provides a fair evaluation of existing state-of-the-art recommendation models.
Stars: ✭ 96 (-23.2%)
Mutual labels:  collaborative-filtering, recommender-system
Collaborativememorynetwork
Collaborative Memory Network for Recommendation Systems, SIGIR 2018
Stars: ✭ 170 (+36%)
Mutual labels:  collaborative-filtering, recommender-system
Movie Recommender System
Basic Movie Recommendation Web Application using user-item collaborative filtering.
Stars: ✭ 85 (-32%)
Mutual labels:  collaborative-filtering, recommender-system
Polara
Recommender system and evaluation framework for top-n recommendations tasks that respects polarity of feedbacks. Fast, flexible and easy to use. Written in python, boosted by scientific python stack.
Stars: ✭ 205 (+64%)
Mutual labels:  collaborative-filtering, recommender-system
Gorse
An open source recommender system service written in Go
Stars: ✭ 1,148 (+818.4%)
Mutual labels:  collaborative-filtering, recommender-system
Rankfm
Factorization Machines for Recommendation and Ranking Problems with Implicit Feedback Data
Stars: ✭ 71 (-43.2%)
Mutual labels:  collaborative-filtering, recommender-system
Recommender System
A developing recommender system in tensorflow2. Algorithm: UserCF, ItemCF, LFM, SLIM, GMF, MLP, NeuMF, FM, DeepFM, MKR, RippleNet, KGCN and so on.
Stars: ✭ 227 (+81.6%)
Mutual labels:  collaborative-filtering, recommender-system
tf-recsys
tf-recsys contains collaborative filtering (CF) model based on famous SVD and SVD++ algorithm. Both of them are implemented by tensorflow in order to utilize GPU acceleration.
Stars: ✭ 91 (-27.2%)
Mutual labels:  collaborative-filtering, recommender-system

Recommender System in PyTorch

Implementations of various top-N recommender systems in PyTorch for practice.

Movielens 100k & 1M are used as datasets.

Available models

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
PureSVD Paolo Cremonesi et al., Performance of Recommender Algorithms on Top-N Recommendation Tasks. RecSys 2010. Link
SLIM Xia Ning et al., SLIM: Sparse Linear Methods for Top-N Recommender Systems. ICDM 2011. Link
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
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
NGCF Xiang Wang, et al., Neural Graph Collaborative Filtering. SIGIR 2019. Link
LightGCN Xiangnan He, et al., LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation. SIGIR 2020. Link

Enable C++ evaluation

To evaluate with C++ backend, you have to compile C++ and cython with the following script:

python setup.py build_ext --inplace

If compiled NOT successfully, "evaluation with python backend.." will be printed in the beginning.

How to run

  1. Edit experiment configurations in config.py
  2. Edit model hyperparameters you choose in conf/[MODEL_NAME]
  3. run main.py

Implement your own model

You can add your own model into the framework if:

  1. Your model inherits BaseModel class in models/BaseModel.py
  2. Implement necessary methods and add additional methods if you want.
  3. Make YourModel.conf file in conf
  4. Add your model in models.__init__

Reference

Some model implementations and util functions refers to these nice repositories.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].