# 第一届腾讯社交广告高校算法大赛-移动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`目录下为弃用的代码,包括一些原始代码和打算尝试的方法
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
基于随机森林的广告点击率预估算法.zip (79个子文件)
基于随机森林的广告点击率预估算法
libfm
libfm
bin
fm_model 3KB
transpose 109KB
convert 113KB
libFM 228KB
license.txt 34KB
src
libfm
libfm.o 278KB
tools
convert.o 129KB
transpose.o 125KB
convert.cpp 7KB
transpose.cpp 7KB
src
relation.h 4KB
Data.h 18KB
fm_learn_mcmc_simultaneous.h 13KB
fm_learn_sgd_element_adapt_reg.h 11KB
fm_learn_sgd.h 3KB
fm_learn_sgd_element.h 3KB
fm_learn.h 5KB
fm_learn_mcmc.h 39KB
Makefile 561B
libfm.cpp 20KB
util
cmdline.h 6KB
memory.h 2KB
random.h 4KB
smatrix.h 7KB
util.h 2KB
rlog.h 2KB
fmatrix.h 8KB
matrix.h 9KB
fm_core
fm_model.h 5KB
fm_sgd.h 4KB
fm_data.h 909B
Makefile 100B
README.md 1KB
scripts
triple_format_to_libfm.pl 3KB
data
download.sh 162B
tencent_数据说明
上下文特征.png 232KB
用户特征.png 280KB
Tencent_cvr_prediction.png 169KB
data_dscr_4.png 143KB
广告特征.png 320KB
data_dscr_5.png 300KB
output
criteo.jpg 17KB
tensorboard.png 272KB
fm_format.png 198KB
facebook.png 112KB
model.png 79KB
ffm_formula.png 18KB
fm_formula2.png 17KB
fm_formula.png 15KB
loss.png 46KB
train_info.png 59KB
libffm
libffm
Makefile.win 697B
ffm-predict 71KB
timer.cpp 570B
ffm.h 1KB
ffm.cpp 20KB
ffm-train 70KB
timer.o 2KB
ffm-train.cpp 5KB
README 8KB
COPYRIGHT 1KB
Makefile 628B
ffm-predict.cpp 5KB
ffm.o 54KB
timer.h 232B
code
ctr
ffm.py 4KB
Preprocess.py 339B
ctr.ipynb 720KB
ctr_nn
__init__.py 167B
Models.py 19KB
Main.py 4KB
Utils.py 9KB
blagging.py 35KB
Logloss.py 399B
cvr
3.feature_engineering_and_machine_learning.ipynb 116KB
2.Baseline_version.ipynb 5KB
1.problem_setting.ipynb 6KB
README.md 3KB
README.md 699B
共 79 条
- 1
资源评论
小码蚁.
- 粉丝: 2525
- 资源: 4057
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功