Code Monkey home page Code Monkey logo

recsys_pytorch's Introduction

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

To be implemented

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

How to run

  1. Choose RecSys model and edit configurations in main.py
  2. Edit configurations of the model you choose in 'conf'
  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 'utils.ModelBuilder.py'

Reference

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

recsys_pytorch's People

Contributors

yoongi0428 avatar

Watchers

James Cloos avatar paper2code - bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.