The codes are associated with the following paper:
Collaborative Variational Bandwidth Auto-encoder for Recommender Systems,
Yaochen Zhu and Zhenzhong Chen.
IEEE Trans. Knowl. Data Eng., 2022. [pdf].
The codes are written in Python 3.6.5 with the following packages.
- numpy == 1.16.3
- pandas == 0.21.0
- tensorflow-gpu == 1.15.0
- tensorflow-probability == 0.8.0
The processed datasets can be found here.
For usage, create a data folder and move in the unzipped datasets.
-
Layerwise pretrain the user feature VAE:
python pretrain_vae.py --dataset Name --split [0-9]
-
Iteratively train the collarabotive and feature part of VBAE:
python train_vbae.py --dataset Name --split [0-9]
-
Evaluate the model and summarize the results into a pivot table
python predict.py --dataset Name --split [0-9]
python summarize.py
-
Summarize the average, std and corr of bandwidth into the model folder
python analyse_bandwidth.py --dataset Name --split [0-9]
For more advanced argument usage, run the code with --help argument.
If you find our codes helpful, please kindly cite the following paper. Thanks!
@article{vbae_zhu2021,
title={Variational Bandwidth Auto-encoder for Hybrid Recommender Systems},
author={Zhu, Yaochen and Chen, Zhenzhong},
booktitle={IEEE Trans. Knowl. Data Eng.},
year={2022},
}