推荐系统中对比实验工具--伯乐bole
一、简介
伯乐是用python中的pytorch实现的一个方法复现工具。用主流模型和主流数据来实现推荐系统中各种baseline
二、资源
官方文档:https://recbole.io/docs/index.html
github
https://github.com/RUCAIBox/RecBole/blob/master/README_CN.md
使用方法的入门博客
https://blog.csdn.net/Turinger_2000/article/details/111182852
三、使用其他数据(默认的ml-100k)完成测试
常规推荐只需要使用inner文件即可完成,不需要其他的辅助数据。
1.下载实验数据(密码e272) https://pan.baidu.com/share/init?surl=p51sWMgVFbAaHQmL4aD_-g
2.将下载的数据集中的.inter文件复制到模型根目录中dataset中:
先在RecBole-master/dataset 新建一个与inter文件同名的文件夹,例如gowalla(数据名称是gowalla.inter)
3.之后按照之前介绍的方法调用API接口进行测试例如
①新建一个python文件 如名为test_recbole.py
from recbole.quick_start import run_recbole run_recbole()
②在命令行执行刚才新建的python文件,格式如下
python test_recbole.py --dataset=gowalla --model=BPR
四、更多详细参数的配置
如果需要调节topk的大小,需要新建一个test.yaml文件,文件内容如下
# Training and evaluation config epochs: 500 train_batch_size: 4096 eval_batch_size: 4096 neg_sampling: uniform: 1 eval_args: group_by: user order: RO split: {'RS': [0.8,0.1,0.1]} mode: full metrics: ['Recall', 'MRR', 'NDCG', 'Hit', 'Precision'] topk: 20 valid_metric: MRR@20 metric_decimal_place: 4
测试时,需要将配置文件一并带上
python run_recbole.py --model=BPR --dataset=ml-100k --config_files=test.yaml
如果需要使用自动调参功能,方法同上,关键字为hyper.test
learning_rate loguniform -8, 0 embedding_size choice [64, 96 , 128] train_batch_size choice [512, 1024, 2048] mlp_hidden_size choice ['[64, 64, 64]','[128, 128]']