Skip to content

chenjiyan2001/Paddle-fgcnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7cd9611 · May 23, 2022

History

18 Commits
May 23, 2022
May 23, 2022
Apr 25, 2022
Apr 25, 2022
May 23, 2022

Repository files navigation

Paddle-fgcnn

注:在阅读该示例前,建议您先了解以下内容:

paddlerec入门教程

内容

模型简介

CTR(Click Through Rate),即点击率,是“推荐系统/计算广告”等领域的重要指标,对其进行预估是商品推送/广告投放等决策的基础。简单来说,CTR预估对每次广告的点击情况做出预测,预测用户是点击还是不点击。CTR预估模型综合考虑各种因素、特征,在大量历史数据上训练,最终对商业决策提供帮助。本模型实现了下述论文中的DeepAndCross模型:

@inproceedings{FGCNN,
  title={Feature Generation by Convolutional Neural Network for Click-Through Rate Prediction},
  author={Bin Liu, Ruiming Tang, Yingzhi Chen, Jinkai Yu, Huifeng Guo, Yuzhou Zhang},
  year={2019}
}
> Jieming Zhu, Jinyang Liu, Shuai Yang, Qi Zhang, Xiuqiang He. [Open Benchmarking for Click-Through Rate Prediction](https://arxiv.org/abs/2009.05794). *The 30th ACM International Conference on Information and Knowledge Management (CIKM)*, 2021. [[Bibtex](https://dblp.org/rec/conf/cikm/ZhuLYZH21.html?view=bibtex)]

> Jieming Zhu, Kelong Mao, Quanyu Dai, Liangcai Su, Rong Ma, Jinyang Liu, Guohao Cai, Zhicheng Dou, Xi Xiao, Rui Zhang. [BARS: Towards Open Benchmarking for Recommender Systems](https://arxiv.org/pdf/2205.09626.pdf). *The 45th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR)*, 2022. [Bibtex]

数据准备

数据来源

训练及测试数据集选用Display Advertising Challenge所用的Criteo数据集。该数据集包括两部分:训练集和测试集。训练集包含一段时间内Criteo的部分流量,测试集则对应训练数据后一天的广告点击流量。 每一行数据格式如下所示:

<label> <integer feature 1> ... <integer feature 13> <categorical feature 1> ... <categorical feature 26>

其中<label>表示广告是否被点击,点击用1表示,未点击用0表示。<integer feature>代表数值特征(连续特征),共有13个连续特征。<categorical feature>代表分类特征(离散特征),共有26个离散特征。相邻两个特征用\t分隔,缺失特征用空格表示。测试集中<label>特征已被移除。

一键下载训练及测试数据

https://aistudio.baidu.com/aistudio/datasetdetail/148156 下载train.h5与valid.h5文件,作为本项目的数据集。train.h5文件放入PaddleRec/models/rank/fgcnn/data/train目录下,valid.h5文件放入PaddleRec/models/rank/fgcnn/data/test目录下。

运行环境

PaddlePaddle>=2.0

python 2.7/3.5/3.6/3.7

os : windows/linux/macos

快速开始

本文提供了样例数据可以供您快速体验,在paddlerec模型目录"PaddleRec/models/rank/dcn"目录下执行下面的命令即可快速启动训练:

# 进入模型目录
# cd models/rank/fgcnn # 在任意目录均可运行
# 动态图训练
python -u ../../../tools/trainer.py -m config_bigdata.yaml # 全量数据运行config_bigdata.yaml 
# 动态图预测
python -u ../../../tools/infer.py -m config_bigdata.yaml

模型组网

模型,评估指标,优化器,训练等对齐见 fgcnn/fuxi_pipline/fuxi.ipynb,日志与npy文件见Step1,Step2,Step4,Step5以及Diff目录。

效果复现

为了方便使用者能够快速的跑通每一个模型,我们在每个模型下都提供了样例数据。如果需要复现readme中的效果,请按如下步骤依次操作即可。 在全量数据下模型的指标如下:

模型 auc batch_size epoch_num Time of each epoch
fgcnn 0.8022 2000 10 约 3 小时