RecBole-CDR is a library built upon RecBole for reproducing and developing cross-domain recommendation algorithms.
- 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.
recbole==1.0.1
torch>=1.7.0
python>=3.7.0
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]
We list currently supported Cross-Domain Recommendation models:
- CMF from Singh et al.: Relational Learning via Collective Matrix Factorization (SIGKDD 2008).
- DTCDR from Zhu et al.: DTCDR: A Framework for Dual-Target Cross-Domain Recommendation (CIKM 2019).
- CoNet from Hu et al.: CoNet: Collaborative Cross Networks for Cross-Domain Recommendation (CIKM 2018).
- BiTGCF from Liu et al.: Cross Domain Recommendation via Bi-directional Transfer Graph Collaborative Filtering Networks (CIKM 2020).
- CLFM from Gao et al.: Cross-Domain Recommendation via Cluster-Level Latent Factor Model (PKDD 2013).
- DeepAPF from Yan et al.: DeepAPF: Deep Attentive Probabilistic Factorization for Multi-site Video Recommendation (IJCAI 2019).
- NATR from Gao et al.: Cross-domain Recommendation Without Sharing User-relevant Data (WWW 2019).
- EMCDR from Man et al.: Cross-Domain Recommendation: An Embedding and Mapping Approach (IJCAI 2017).
- SSCDR from Kang et al.: Semi-Supervised Learning for Cross-Domain Recommendation to Cold-Start Users (CIKM 2019).
- DCDCSR from Zhu et al.: A Deep Framework for Cross-Domain and Cross-System Recommendations (IJCAI 2018).
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:
Amazon
datasets;Book-Crossing
datasets;Douban
datasets;
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;
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.
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).
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}
}