Skip to content

This is a library built upon RecBole for cross-domain recommendation algorithms

License

Notifications You must be signed in to change notification settings

RUCAIBox/RecBole-CDR

Repository files navigation


RecBole-CDR

License

中文版

RecBole-CDR is a library built upon RecBole for reproducing and developing cross-domain recommendation algorithms.

Highlights

  • Automatic and compatible data processing for cross-domain recommendation: Our library designs a unified data structure for cross-domain recommendation, which inherits all the data pre-processing strategies in RecBole. The overlapped data in different domains can be matched automatically.
  • Flexible and customized model training strategies: Our library provides four basic training modes for cross-domain recommendation, which can be combined arbitrarily by users. It is also easy to customize training strategy in original way.
  • Extensive cross-domain recommendation algorithms: Based on unified data structure and flexible training strategies, several cross-domain recommendation algorithms are implemented and compared with others fairly.

Requirements

recbole==1.0.1
torch>=1.7.0
python>=3.7.0

Quick-Start

With the source code, you can use the provided script for initial usage of our library:

python run_recbole_cdr.py

This script will run the CMF model with ml-1m as source domain dataset and ml-100k as target domain dataset.

If you want to change the models, just run the script by setting additional command parameters:

python run_recbole_cdr.py --model=[model]

Implemented Models

We list currently supported Cross-Domain Recommendation models:

Result

Dataset

We collected and organized three pairs of datasets with one source domain and one target domain which are commonly used in cross-domain recommendation. Here we provide these datasets for reference:

Hyper-parameters

We carefully tune the hyper-parameters of the implemented models on these datasets and we provide these hyper-parameters here for reference:

  • Cross-domain-recommendation on Amazon datasets;
  • Cross-domain-recommendation on Book-Crossing datasets;
  • Cross-domain-recommendation on Douban datasets;

Contributing

Please let us know if you encounter a bug or have any suggestions by filing an issue.

We welcome all contributions from bug fixes to new features and extensions.

We expect all contributions discussed in the issue tracker and going through PRs.

The Team

RecBole-CDR is developed and maintained by members from RUCAIBox, the main developers are Zihan Lin (@linzihan-backforward), Gaowei Zhang (@Wicknight) and Shanlei Mu (@ShanleiMu).

Acknowledgement

The implementation is based on the open-source recommendation library RecBole.

Please cite the following paper as the reference if you use our code or processed datasets.

@inproceedings{zhao2021recbole,
  title={Recbole: Towards a unified, comprehensive and efficient framework for recommendation algorithms},
  author={Wayne Xin Zhao and Shanlei Mu and Yupeng Hou and Zihan Lin and Kaiyuan Li and Yushuo Chen and Yujie Lu and Hui Wang and Changxin Tian and Xingyu Pan and Yingqian Min and Zhichao Feng and Xinyan Fan and Xu Chen and Pengfei Wang and Wendi Ji and Yaliang Li and Xiaoling Wang and Ji-Rong Wen},
  booktitle={{CIKM}},
  year={2021}
}