Skip to content

TomZ1412/AIC-2025-BookRecommendation

Repository files navigation

项目说明(README)

本项目为AIC-2025图书馆预测推荐赛道代码仓库,竞赛成绩为国赛二等奖。本仓库基于 RecBole 框架实现推荐系统训练、评测与提交文件生成流程。项目包含原始数据预处理、RecBole 数据集构建、模型训练、结果生成等完整步骤。


📁 项目结构

.
|-- csv_data/              # 原始数据及部分中间处理文件
|-- dataset/               # RecBole 格式数据集
|-- generated/             # 生成的最终提交文件
|-- log/                   # 模型训练日志
|-- log_tensorboard/       # TensorBoard 日志目录
|-- saved/                 # 训练好的模型 checkpoint
|-- config_bpr_pre/        # 训练配置
|-- config_bpr_semi/       # 训练配置
|-- config_bpr_final/      # 训练配置
|-- generate_submission.py # 用于生成提交文件的脚本
|-- utils.ipynb            # 数据预处理 Notebook
|-- train.sh               # 启动训练的脚本
|-- generate.sh            # 生成提交文件的脚本

🛠️ 环境依赖安装

请确保已安装 Python 版本 ≥ 3.8

1. 安装依赖包

pip install -r requirements.txt

📦 数据预处理

项目的原始数据文件位于 csv_data/ 目录中。对原始数据进行划分并将其转换为 RecBole 所需数据格式,请运行:

  1. 打开并运行 utils.ipynb
  2. Notebook 会生成 RecBole 需要的 dataset/ 目录结构

🚀 训练模型

如果希望训练新的模型,运行:

bash train.sh

说明:

  • 训练脚本会自动加载预设 config(如 config_bpr_pre/、config_bpr_final/)
  • 训练完成的模型保存在 saved/
  • 训练日志会保存到 log/log_tensorboard/

如需修改训练配置,请编辑对应目录下的 .yaml 文件。


📄 生成提交文件(submission)

生成提交文件前,请确保:

  1. 已训练完成一个模型 checkpoint(保存在 saved/ 中)
  2. generate.sh 中的 checkpoint 路径已正确修改,例如:
--model_file saved/BPR-Nov-21-2025_18-57-05.pth

生成提交文件

bash generate.sh

运行后,结果将输出到 generated/ 目录。


🔄 完整复现实验流程(Quick Start)

  1. 安装依赖

    pip install -r requirements.txt
  2. 数据预处理

    • 运行 utils.ipynb,生成 RecBole 数据格式
  3. 训练模型(若使用预训练权重,跳过此步)

    bash train.sh
  4. 生成提交文件

    • 修改 generate.sh 中的 checkpoint 路径
    bash generate.sh

About

2025全球校园人工智能大赛图书馆预测推荐系统国赛二等奖

Resources

License

Stars

9 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors