前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SPA大赛】腾讯社交广告大赛心得分享

【SPA大赛】腾讯社交广告大赛心得分享

原创
作者头像
申星
修改2017-06-19 18:54:53
2K0
修改2017-06-19 18:54:53
举报
文章被收录于专栏:申星的专栏申星的专栏

1. 数据分析

大赛题目是转化率预估,这也是第一次接触这类赛题,所以遇到的问题比较多。首先是对数据的理解就花了不少心思,数据中有不少除label不同外其他数据都相同的样本,刚开始也是像处理其他问题一样将这些样本看作是噪音,只保留了label为正的样本,后来发现在线上测试集中同样存在一部分数据都相同的样本,这时训练出来的模型对这些样本的预测值都是相同的,所以对于这些样本就不能简单的当作噪音来处理了。目前我们针对这种情况的处理参考了之前大神分享的经验,通过添加一些特征来标记他们之间的先后顺序。还有关于label不准确问题的处理,因为有些回流的时间超过5天还有最后几天的回流可能还没有反馈回来,这些就会使得label取值不准确。针对这种情况,我们通过统计所有数据的回流时间,发现:90.00%的回流发生在一天之内,99.00%的回流发生在两天之内,99.90%的回流发生在三天之内。这一分析我们如何构造选取线下训练集和验证集很有帮助。

2. 模型选择

关于模型选择,看到好多人都选择xgboost,而我们选择的是lightgbm,之所以选择它是因为之前做比赛的时候对比过这两者的训练时间与预测结果。有实验表明lightgbm在学习效率与准确率上都比xgboost表现得好,而且它还有这更低的内存消耗。

3. 构造训练集

通过之前的数据分析,我们直接舍弃了30日的数据。考虑自身设备情况,我们仅选取了两天的样本作为训练集。比如以27,28两天的样本为测试集,以29日样本为线下验证集。这样构造训练以及验证集可以有效避免数据泄露问题。具体构造训练集与测试集可以根据自身设备情况多取几天的样本。比赛开始阶段,我们使用一个模型进行预测,后期,使用了模型融合,分别训练了4个模型,对此,数据集的划分如图1所示。

[图1]
[图1]

4. 特征工程

我们首先对数据中age属性进行了等值域划分,然后通过统计找出对原始数据中维度较小那些基本特征,对这些特征进行了one-hot编码,这样不至于出现特征维数很大的情况。其次就是组合特征了,组合特征是相对比较重要的。组合特征是不能盲目胡乱组合,要多想想实际情况,做一些统计分析,当然也可简单的通过训练结果的来测试组合特征的重要性。

4.1 基本特征与特征one-hot

选取原始数据中维数较小的特征进行one-hot编码,主要包括用户的年龄、性别、婚恋状态、教育程度,广告的advertiserID、AppID、appPlatform,上下文的sitesetID和positionType。

4.2 特征交叉

不同特征之间的组合能起到更大的作用,我们分别使用户的年龄、性别、婚恋状态、教育程度、居住地与广告的creativeID、appID和positionID两两进行交叉,同时记录在这两个特征交叉时,广告CTR的排序特征。

4.3 特征贝叶斯平滑

在交叉得到的特征中,经观察,发现很多广告的CTR值并不准确,某些广告CTR值因为该广告总点击数较少而导致CTR较高,所以进行了贝叶斯平滑,贝叶斯平滑过程主要借鉴了博客上的思路。

4.4 离散化

在得到基本特征和处理后的特征后,主要针对统计出的广告CTR特征进行离散化,这种操作的目的是保证广告CTR值可以再预估时按照自身的重要性发挥不同的价值。

竞赛刚开始阶段,并没有注重交叉特征的构造和特征的贝叶斯平滑操作,只针对基本特征和基本特征上的统计特征进行处理,结果非常差,后来加入交叉特征和对特征进行贝叶斯平滑后,效果慢慢变好。这部分内容可以参看很多博客文章。

目前阶段,我们对特征的总体处理如图2表示。图2中其他特征包括了除图中列举出的特征以外的其他特征,绝大多数是统计特征。

[图2]
[图2]

5. 模型融合

四个模型分别采用lightgbm进行训练,使用四个模型进行预测,对4个预测结果进行线性融合以得到最终结果。融合后的结果比单个模型的预测结果好,但是线性模型融合需要调整4个模型参数,加大了工作量。

6. 比赛心得

首先,要保证训练集的构造没有问题,如果训练集有问题,再怎么提特征,调参数都没用。下来是特征的提取,可以说这个过程是整个过程中最重要的,因为特征的好坏直接决定了预测结果的好坏,特征不好,模型调的再好结果还是不行。最后就是模型调参了,这部分相对也比较重要,调参要理解参数背后的意义以及调参后会带来的影响,毫无规律的乱试能调出好的参数的概率渺茫。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 数据分析
  • 2. 模型选择
  • 3. 构造训练集
  • 4. 特征工程
  • 5. 模型融合
  • 6. 比赛心得
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档