• Stars
    star
    103
  • Rank 333,046 (Top 7 %)
  • Language
    Python
  • Created over 3 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

WeChat_Big_Data_Challenge_DeepCTR_baseline

比赛官网:2021中国高校计算机大赛 微信大数据挑战赛

方案说明

本方案为基于DeepCTR实现的多任务学习模型MMOE

  • 特征:本方案关注于模型,仅使用以下6个较为基础的原始特征:['userid', 'feedid', 'authorid', 'bgm_song_id', 'bgm_singer_id', 'videoplayseconds']

  • 线上结果:

    得分 查看评论 点赞 点击头像 转发
    0.633475 0.612465 0.613346 0.700479 0.643898

运行环境

python 3.6
deepctr==0.8.5
numpy==1.16.4
pandas==0.24.2
tensorflow==1.12.0
scikit_learn==0.24.2

deepctr安装说明

  • CPU版本
    $ pip install deepctr==0.8.5
  • GPU版本 先确保已经在本地安装tensorflow-gpu,版本为 tensorflow-gpu>=1.4.0,!=1.7.*,!=1.8.*,然后运行命令
    $ pip install deepctr==0.8.5 --no-deps

运行说明

  1. 新建data目录,下载比赛数据集,放在data目录下并解压,得到wechat_algo_data1目录

  2. python run_mmoe.py

运行时间

在Tesla P40 24G GPU、E5-2650 v4 CPU机器上,训练时间为205s/epoch(6708846条样本)。

训练时显存占用为695MiB,内存占用为2.2G。

预测时间如下:

4个目标行为421985条样本预测耗时(毫秒):352.331
4个目标行为2000条样本平均预测耗时(毫秒):1.670

关于DeepCTR

DeepCTR是一个易用、可扩展的深度学习点击率预测算法包,基于tensorflow深度学习框架。

添加特征时,仅添加feature_columns即可,无需改动模型;

模型方面,DeepCTR包含20多个CTR模型(如DeepFM、xDeepFM、DCN、AutoInt、DIN、FiBiNET等),可直接通过模型名调用。如需自定义模型,DeepCTR中也有很多高复用性的模块(例如DNN、FM、BiInteractionPooling、CIN、CrossNet等)。更多使用方法请参考DeepCTR文档

DeepCTR也有pytorch版本:DeepCTR-Torch: https://github.com/shenweichen/DeepCTR-Torch

其他

楼主之前做比赛,从很多前辈的分享或开源中学到了很多,现在希望自己也能贡献一些。希望本文可以帮助大家降低深度学习CTR模型的门槛,普及这些算法技术。

预祝大家在本次大赛中取得好成绩!