Recbole简介

Recbole(中文名称:伯乐)是一款使用Python开发的开源推荐框架,里面集成了大量的推荐模型,例如BPR、NeuMF、NGCF、LightGCN等等。

中文介绍网址为:

  • https://recbole.io/cn/model_list.html

在Recbole中提供了按比例划分数据集的方式(例如训练集0.8,验证集0.1,测试集0.1),同时在2.0版本也提供了自定义训练集、验证集和测试集的方式。

Recbole使用

关于Recbole的使用,在官网介绍的很详细了。我这里直接将github上的工程下载了下来,导入了pycharm。如下图所示:
在这里插入图片描述

其中,标红的dataset用于放数据集。例如,我的数据集只有三列,即用户-产品–评分。
在这里插入图片描述
doctor.inter的内容如下:

user_id:token	item_id:token	rating:float
0	0	1
0	1	1
0	2	1
0	3	0
...

针对这种数据,我们需要修改配置文件:
在这里插入图片描述
其中,sample.yaml修改如下,我们只需要user_id,item_id,rating类型的数据。
在这里插入图片描述
可以利用其中的BPR等模型开展实验。
在这里插入图片描述

在这里插入图片描述

自定义训练集、验证集和测试集

在Recbole自定义训练集、验证集和测试集使用的是配置文件sample.yaml。在配置文件的最后一行,存在一个字段benchmark_filename。我们可以通过这个字段来针对事先划分好的数据集进行实验。

在这里插入图片描述
例如,这里的part1为训练集,part2为验证集,part3为测试集。

假如程序中使用的数据集目录为standard,则在该目录下需要存在以下三个文件,如下图所示:
在这里插入图片描述
我们运行以下程序:
在这里插入图片描述
可以正在跑出模型对应的推荐结果。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐