Recommendation_System-PyTorch
Recommendation_System-PyTorch copied to clipboard
Full Implementation of Recommender System in Pytorch (with examples)
Recommendation_System-PyTorch
Prodcution-level implementations of recommendation system in Pytorch
Recommendation-System Common Architecture (Hybrid Filtering Model)
Abstract
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)
Example
Data
- MovieLens Data 100k & 1M (download link)
- Data files are in "data" folder
Model Zoo
Model | Paper |
---|---|
BPRMF | Link |
ItemKNN | Link |
SLIM | Link |
MultVAE | Link |
Training
$ 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
Result
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 your own model
- 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