RecBole
RecBole copied to clipboard
数据集处理的问题
你好,请问我可以只用于处理数据集吗,比如我调用它过滤,划分数据集,这样处理之后我该如何保存得到我想要的处理后的数据集呢。我发现提供的sava函数保存的并不是我想要的。。
@mssssss123
您好,我们对于 dataset 和 dataloader 的保存操作都是以二进制格式直接保存了本对象的所有信息。我想您是希望仅将处理过的数据保存问txt或者csv文件,目前我们还不支持这个功能,但您可以在获得train_dataloader, valid_dataloader, test_dataloader
进行简单的操作实现:
(1)如果您不需要将 remap 过的 ID 还原为原始的 token,那么可以直接通过dataloader.dataset
获取数据集,再根据您需要的格式保存数据集中的dataset.inter_feat
(user-item 交互数据),dataset.user_feat
(user 数据)以及dataset.item_feat
(item 数据)。
(2)若您需要将 remap 过的 ID 还原为原始的 token,则还需要使用dataset.field2id_token
将 ID 重新映射成 token。
此外,inter_feat
,user_feat
以及item_feat
都为伯乐中的Interaction
类型数据,详细信息可以参考我们的文档。