为了兼顾可拓展性和易用性,RecBole 实现了一套优雅的数据流,来支持从原始文件到模型输入的数据处理。
整体的数据流为:
我们会针对其中几项内容重点介绍:
Dataset
类 :根据原子文件生成的数据集对象,主要依托于
pandas.DataFrame
。从原子文件到
Dataset
类的转换中,我们提供了一系列的数据预处理操作,如 ID重映射、数据筛选、缺失值填充等。详见【 API 文档 】。
DataLoader
类 :将 Dataset
类中的数据转为对模型友好的格式,主要依托于 RecBole 定义的 Interaction
类 。Interaction
是送入推荐系统算法的,基于
python.dict
类设计的中间数据结构。键值对应于输入的特征,编写算法时可以方便地用特征名称进行索引;值对应于张量
(由 torch.Tensor
实现),将会被用于计算与参数更新。特别地,键值索引出的张量已经是按照 batch 划分的。
详见【 API 文档 】。