RecBole小白入门系列博客(二) ——General类模型运行流程

本文详细介绍RecBole推荐系统框架中通用模型的运行流程,包括模型选择、参数配置、数据集设置、训练与评估等步骤,并提供了手动及自动调参方法。

注意:本系列基于RecBole v.0.2.0 版本!
传送门RecBole小白入门系列博客(一)——快速安装和简单上手

写在前面

  1. 接上次的安装和快速运行介绍,这次准备根据模型的类别分别讲一下四类模型的运行流程——General, Context, Sequential 和Knowledge。
  2. 本博客将先展示General类模型的运行流程ψ(`∇´)ψ ,之后再写另外三种类型。
  3. 由于模型的完整运行流程会牵扯到很多部分,从数据到参数,所以这里将简略的举出例子,让大家可以大致独立完成模型的运行。关于一些更加具体和细微的部分,我将在后面单独写博客为大家介绍。

选定模型

RecBole中共有13个General类模型可供使用,模型列表如下:

关于模型的具体信息可以查看上面的链接,大家选用需要的模型即可。我们以模型BPR为例。

设置模型超参数

每个模型的超参数都不一致,大家可以从上面的链接中查看自己所需模型的超参数有哪些。在RecBole中每个模型都有默认的参数,因此如果是想简单跑一跑就暂时不动。
模型默认参数在源码目录RecBole/recbole/properties/model 中,各位感兴趣在小伙伴可以在里面查看默认参数值。
那么想调参的同学怎么办呢?读过RecBole小白入门系列博客(一)——快速安装和简单上手的朋友可能知道,在RecBole中调整参数有好几种方法,这里我推荐使用自定义配置文件
RecBole的配置文件格式均使用.yaml文件,十分简洁明了,大致的形式如下:

accum: "stack"
gcn_output_dim: 500
embedding_size: 64
dropout_prob: 0.3
sparse_feature: True
class_num: 2
num_basis_functions: 2

参数名称: 参数值这样的样式
参数值可以是字典嵌套,也可以是列表等,就像这样

load_col:
  inter: [user_id, business_id, stars]
  item: [business_id, address, categories]
  user: [user_id, fans, compliment_hot, compliment_cool, complitment_cute, compliment_plain]

大家暂时不用管参数的含义等,后面会注意讲到。大致了解配置文件的格式之后,我再说下推荐的修改模型参数的方法:

  • 在目录 RecBole/ 下新建配置文件 test.yaml
  • test.yaml 中写入想要修改的参数
  • 保存

例如,我想修改模型BPR的参数,就去查看路径RecBole/recbole/properties/model/BPR.yaml,可以发现BPR参数很少,就只有一个:

embedding_size: 64

那如果我想把embedding_size改成32的话,就在test.yaml中写入

# model config
embedding_size: 32

别的模型参数同理

选定数据集

数据集基本格式

选定模型之后就是要选定要用的数据集了。RecBole框架使用的数据集要求处理成对应的原子文件才可以正常使用,目前支持6种原子文件,General模型会用到的只有 .inter

后缀 含义 例子
.inter 用户-商品交互特征 user_id, item_id, rating, timestamp, review

每个原子文件可以被看作 mn 列的表格(不计表头),代表该文件存储了 n 种不同的特征,共 m 条记录。 文件第一行为表头,表头中每一列的形式为 feat_name:feat_type,标示了该列特征的名字及类型。 约定特征为四种类型之一。

feat_type 含义 例子
token 单个离散特征 user_id, age
token_seq 离散特征序列 review
float 单个连续特征
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值