All Projects → mkurovski → multi_channel_bpr

mkurovski / multi_channel_bpr

Licence: MIT License
Implementation of Bayesian Personalized Ranking (BPR) for Multiple Feedback Channels

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to multi channel bpr

recommender system with Python
recommender system tutorial with Python
Stars: ✭ 106 (+324%)
Mutual labels:  recommender, recommender-system
WWW2020-grec
Future Data Helps Training: Modeling Future Contexts for Session-based Recommendation
Stars: ✭ 17 (-32%)
Mutual labels:  recommender, recommender-system
Lightfm
A Python implementation of LightFM, a hybrid recommendation algorithm.
Stars: ✭ 3,884 (+15436%)
Mutual labels:  recommender, recommender-system
recsys2019
The complete code and notebooks used for the ACM Recommender Systems Challenge 2019
Stars: ✭ 26 (+4%)
Mutual labels:  recommender, recommender-system
Alink
Alink is the Machine Learning algorithm platform based on Flink, developed by the PAI team of Alibaba computing platform.
Stars: ✭ 2,936 (+11644%)
Mutual labels:  recommender, recommender-system
recommender
NReco Recommender is a .NET port of Apache Mahout CF java engine (standalone, non-Hadoop version)
Stars: ✭ 35 (+40%)
Mutual labels:  recommender, recommender-system
Auto-Surprise
An AutoRecSys library for Surprise. Automate algorithm selection and hyperparameter tuning 🚀
Stars: ✭ 19 (-24%)
Mutual labels:  recommender-system
recsys spark
Spark SQL 实现 ItemCF,UserCF,Swing,推荐系统,推荐算法,协同过滤
Stars: ✭ 76 (+204%)
Mutual labels:  recommender-system
session4rec
GRu4Rec in TensorFlow
Stars: ✭ 14 (-44%)
Mutual labels:  recommender-system
AMR
This is our official implementation for the paper: Jinhui Tang, Xiaoyu Du, Xiangnan He, Fajie Yuan, Qi Tian, and Tat-Seng Chua, Adversarial Training Towards Robust Multimedia Recommender System.
Stars: ✭ 30 (+20%)
Mutual labels:  recommender-system
Context-Aware-Recommender
Hybrid Recommender System
Stars: ✭ 16 (-36%)
Mutual labels:  recommender-system
BARS
Towards open benchmarking for recommender systems https://openbenchmark.github.io/BARS
Stars: ✭ 157 (+528%)
Mutual labels:  recommender-system
MARank
Multi-order Attentive Ranking Model for Sequential Recommendation
Stars: ✭ 25 (+0%)
Mutual labels:  recommender-system
mlstm4reco
Multiplicative LSTM for Recommendations
Stars: ✭ 21 (-16%)
Mutual labels:  recommender-system
Recommender-Systems-with-Collaborative-Filtering-and-Deep-Learning-Techniques
Implemented User Based and Item based Recommendation System along with state of the art Deep Learning Techniques
Stars: ✭ 41 (+64%)
Mutual labels:  recommender-system
goodreads-toolbox
9 tools for Goodreads.com, for finding people based on the books they’ve read, finding books popular among the people you follow, following new book reviews, etc
Stars: ✭ 56 (+124%)
Mutual labels:  recommender
skywalkR
code for Gogleva et al manuscript
Stars: ✭ 28 (+12%)
Mutual labels:  recommender-system
HybridBackend
Efficient training of deep recommenders on cloud.
Stars: ✭ 30 (+20%)
Mutual labels:  recommender-system
retailhero-recomender-baseline
Бэйслайн к задаче RetailHero.ai/#2 от @geffy 💪
Stars: ✭ 93 (+272%)
Mutual labels:  recommender-system
recommendation-api
Rank and serve recommendations
Stars: ✭ 14 (-44%)
Mutual labels:  recommender-system

Recommender System Theory put into Practice

This repository contains Python implementations and combination of interesting scientific papers on recommender systems.

I will support my implementations with explanations on the theory using summaries and JuPyter Notebooks. Each section references a new paper which results I try to reproduce or apply to other datasets.

Bayesian Personalized Ranking with Multi-channel User Feedback - Loni et al. (2016)

This paper builds upon the famous paper by Rendle on Bayesian Personalized Ranking for triplets (u,i,j) with a user prefering an item i over j. This pairwise learning-to-rank approach was extended to better capture the individual preferences regarding different feedback channels and preferences degreees associated with those channels.

Usage

  1. Clone the repository
  2. Obtain the MovieLens 1M Dataset from grouplens and unzip it
  3. Change to the cloned folder cd multi_channel_bpr
  4. Make sure you have pandas, numpy and scikit-learn installed in your environment
  5. Install the package with python setup.py install
  6. Call the package with the command multi_channel_bpr followed by the respective parameters:
    • -d (int): no. of latent features for user and item representations
    • -beta [(float)]: share of unobserved feedback within the overall negative feedback
    • -lr (float): learning rate for stochastic gradient descent
    • -reg [(float)]: regularization parameters for user, positive and negative item
    • -k(int): no. of most relevant items rating
    • -rd_seed (int): random number generator seed
    • -folds (int): no. of folds for crossfold evaluation
    • -epochs (int): no. of training epochs
    • -sampling [(str)]: list of negative item sampling modes, uniform and/or non-uniform
    • -data (str): path to read input data from
    • -results (str): path to write results into

Results

  • run multi_channel_bpr -v -d 50 -beta 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 -k 10 -epochs 100 -v -sampling 'uniform' 'non-uniform' -seed 42 and report results

Related Papers with implemented ideas

Open Points

  • Create JuPyter notebook to reproduce a single graph of the paper and use the different modules
  • Add results of own experiments

Backlog

Note

This project has been set up using PyScaffold 3.0.3. For details and usage information on PyScaffold see http://pyscaffold.org/.

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