• Stars
    star
    157
  • Rank 236,867 (Top 5 %)
  • Language
    Jupyter Notebook
  • Created about 7 years ago
  • Updated almost 7 years ago

Reviews

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

Repository Details

Tencent Social Ads 2017 contest rank 20

第一届腾讯社交广告高校算法大赛-移动App广告转化率预估

赛题详情http://algo.tpai.qq.com/home/information/index.html  
题目描述
根据从某社交广告系统连续两周的日志记录按照推广中的App和用户维度随机采样构造的数据,预测App广告点击后被激活的概率:pCVR=P(conversion=1 | Ad,User,Context),即给定广告、用户和上下文情况下广告被点击后发生激活的概率。

运行环境

  • 操作系统 Ubuntu 14.04.4 LTS (GNU/Linux 4.2.0-27-generic x86_64)
  • 内存 128GB
  • CPU 32 Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
  • 显卡 TITAN X (Pascal) 12GB
  • 语言 Python3.6
  • Python依赖包
    1. Keras==2.0.6
    2. lightgbm==0.1
    3. matplotlib==2.0.0
    4. numpy==1.11.3
    5. pandas==0.19.2
    6. scikit-learn==0.18.1
    7. scipy==0.18.1
    8. tensorflow-gpu==1.2.1
    9. tqdm==4.11.2
    10. xgboost==0.6a2
  • 其他库 LIBFFM v121

运行说明

  1. 将复赛数据文件final.zip放在根目录下
  2. 在根目录下运行sh run.sh命令生成特征文件
  3. 打开./code/_4_*_model_*.ipynb分别进行模型训练和预测,生成单模型提交结果,包括lgb,xgb,ffm,mlp
  4. 打开./code/_4_5_model_avg.ipynb进行最终的加权平均并生成最终提交结果

方案说明

  1. 用户点击日志挖掘_2_1_gen_user_click_features.py
    挖掘广告点击日志,从不同时间粒度(天,小时)和不同属性维度(点击的素材,广告,推广计划,广告主类型,广告位等)提取用户点击行为的统计特征。
  2. 用户安装日志挖掘 _2_2_gen_app_install_features.py
    根据用户历史APP安装记录日志,分析用户的安装偏好和APP的流行趋势,结合APP安装时间的信息提取APP的时间维度的描述向量。这里最后只用了一种特征。
  3. 广告主转化回流上报机制分析_2_4_gen_tricks.py
    不同的广告主具有不同的转化计算方式,如第一次点击算转化,最后一次点击算转化,安装时点击算转化,分析并构造相应描述特征,提升模型预测精度。
  4. 广告转化率特征提取_2_5_gen_smooth_cvr.py
    构造转化率特征,使用全局和滑动窗口等方式计算单特征转化率,组合特征转化率,使用均值填充,层级填充,贝叶斯平滑,拉普拉斯平滑等方式对转化率进行修正。
  5. 广告描述向量特征提取_2_6_gen_ID_click_vectors.py
    广告投放是有特定受众对象的,而特定的受众对象也可以描述广告的相关特性,使用不同的人口属性对广告ID和APPID进行向量表示,学习隐含的语义特征。
  6. 建模预测
    使用多种模型进行训练,包括LightGBM,XGBoost,FFM和神经网络,最后进行多模型加权融合提高最终模型性能。

其他

  • 最终线上排名20,logloss 0.101763
  • 最终特征维度在110左右
  • 部分最终没有采用的特征代码依然保留
  • 由于我们团队的代码是3个人共同完成的,我这里整理的模型训练的部分可能和当时略有差异,但特征部分基本一致。
  • deprecated目录下为弃用的代码,包括一些原始代码和打算尝试的方法

More Repositories

1

DeepCTR

Easy-to-use,Modular and Extendible package of deep-learning based CTR models .
Python
7,504
star
2

GraphEmbedding

Implementation and experiments of graph embedding algorithms.
Python
3,660
star
3

DeepCTR-Torch

【PyTorch】Easy-to-use,Modular and Extendible package of deep-learning based CTR models.
Python
2,952
star
4

DeepMatch

A deep matching model library for recommendations & advertising. It's easy to train models and to export representation vectors which can be used for ANN search.
Python
2,207
star
5

AlgoNotes

【浅梦学习笔记】文章汇总:包含 排序&CXR预估,召回匹配,用户画像&特征工程,推荐搜索综合 计算广告,大数据,图算法,NLP&CV,求职面试 等内容
1,548
star
6

Coursera

Quiz & Assignment of Coursera
Jupyter Notebook
867
star
7

GraphNeuralNetwork

Implementation and experiments of graph neural netwokrs, like gcn,graphsage,gat,etc.
Python
781
star
8

coding_interviews

《剑指Offer》题目汇总&常考题总结(Python实现)
Python
457
star
9

DSIN

Code for the IJCAI'19 paper "Deep Session Interest Network for Click-Through Rate Prediction"
Python
431
star
10

Bytedance_ICME2019_challenge_baseline

Bytedance_ICME2019_challenge_baseline
Python
144
star
11

IJCAI_2018_Competition_baseline

IJCAI2018阿里妈妈搜索广告转化率预估baseline LB 0.0831
Python
88
star
12

ctrip14

科赛 携程出行产品未来14个月销量预测 第2名
Jupyter Notebook
62
star
13

ReinforcementLearning

This project contains several Deep Reinforcement Learning method and some experiments basd on OpenAi gym.
Python
19
star
14

Machine-Learning-in-Action

《机器学习实战》练习代码
Python
8
star
15

shenweichen

5
star
16

edX

edX Assignment
Jupyter Notebook
4
star
17

Book-information-management-system-based-on-OneThink

Book information management system based on OneThink
JavaScript
4
star
18

OpenGL-simulation-shortest-path-of-3D-space

OpenGL shortest path
C
3
star
19

StanfordOnline

StanfordOnline mooc
Jupyter Notebook
2
star