gozsoy / svdpp-variants

PyTorch implementation of SVD++ algorithm and its variants for collaborative filtering

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

svdpp-variants

PyTorch implementations of Regularized SVD, SVD++ and Bayesian SVD++ algorithms for collaborative filtering.

Usage

cd src/
python main.py --config ../config.yml

config.yml allows you to change model, as well as other hyperparameters.

Performance

Dataset is MovieLens 1M. Dataset split is 8:1:1 and random with seed 42. Performance metric is RMSE between ground truth and predicted ratings. Reported performances reflect the validity of each variant's mathematical modelling. Better evaluation is possible by changing random seed 5 times, and reporting mean RMSEs.

Model Test RMSE Best Validation RMSE
Baseline: predict train set mean 1.1164 -
Baseline: predict user mean 1.0369 -
Baseline: predict item mean 0.9809 -
Regularized SVD 0.8595 0.8561
SVD++ 0.8492 0.8511
Bayesian SVD++

About

PyTorch implementation of SVD++ algorithm and its variants for collaborative filtering


Languages

Language:Python 100.0%