推荐系统中对比实验工具--伯乐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]']

 

posted @ 2021-11-02 10:48  StarZhai  阅读(537)  评论(0编辑  收藏  举报