Prodcution-level implementations of recommendation system in Pytorch
Recommender systems are tools for interacting with large and complex information spaces. They provide a personalized view of such spaces, prioritizing items likely to be of interest to the user. The field, christened in 1995, has grown enormously in the variety of problems addressed and techniques employed, as well as in its practical applications. Recommender systems research has incorporated a wide variety of artificial intelligence techniques including machine learning, data mining, user modeling, case-based reasoning, and constraint satisfaction, among others. Personalized recommendations are an important part of many online ecommerce applications such as Amazon.com, Netflix, and Pandora. This wealth of practical application experience has provided inspiration to researchers to extend the reach of recommender systems into new and challenging areas. The purpose of the articles in this special issue is to take stock of the current landscape of recommender systems research and identify directions the field is now taking. This article provides an overview of the current state of the field and introduces the various articles in the special issue. Copyright © 2011, Association for the Advancement of Artificial Intelligence. All rights reserved. (Link to Full Article)
- MovieLens Data 100k & 1M (download link)
- Data files are in "data" folder
Model | Paper |
---|---|
BPRMF | Link |
ItemKNN | Link |
SLIM | Link |
MultVAE | Link |
$ python main.py
--model YOUR MODEL (default: SLIM)
--data_dir [YOUR DIRECTORY]
--save_dir [YOUR SAVE DIRECTORY]
--conf_dir [YOUR CONFIGURATION DIRECTORY]
--seed YOUR SEED
Plese refer to Jupyter Notebook that ran 1 sample epoch for the model SLIM (default) Modify methods in other python files to increase epoch and change other hyperparameters
- Create 'Yourmodel.py' that inherits 'BaseModel.py'
- Create 'YourModel.json' file in 'config' folder
- Implement necessary class and add additional methods if you want.
- Add your model in 'ModelBuilder.py'
- Run 'main.py' with edited parameters