数据预处理步骤错误
data_process_amazon.py中train_target_item这个变量并没有被定义过,请问怎么修改?
感谢指出这个 bug!我们刚刚进行了修正 5ec1154cb74cbf68ed5721212f1d7e79336c39c7
只要把这行删掉即可。
好的,想问下我目前正在尝试把这个模型应用到Amazon Review 2023的数据集上,目前数据预处理阶段python data_process_amazon.py --dataset Games已经完成了,在运行python sample_candidates.py -d Games -u 6000 -s random就报错了:
想问下是什么原因?以及Games-6k是从何而来的?
你好,采样数据这里需要加载预训练模型 checkpoint,我们提供的预训练 checkpoints 是在 2018 数据集上预训练的。
所以如果想应用到 Amazon Reviews 2023 数据集上,需要重新预训练几个基础模型,比如 SASRec, GRU4Rec, BPR, Pop。可以参考 https://github.com/RUCAIBox/LLMRank/blob/master/scripts/ob1-struggle-to-perceive-order-but-can-be-triggered.md#conventional-methods 下面被注释掉的那些指令,比如如果希望预训练 SASRec,则:
python run_baseline.py -m SASRec -d Games
mv xxx.pth pretrained_models/SASRec-Games.pth # 请把 xxx.pth 替换成对应 checkpoint 路径
这里的 Games 应该是 2023 版本的 Games 数据集(不过因为我也没试过 2023 数据集,可能也会有适配问题需要解决)。
关于为什么是 6k,是因为 Games 原始数据有点大,所以我们采样了 6000 个用户使数据集的大小和 ml-1m 差不多。