【SPA大赛】关于APP广告预测转化率的经验分享

我们是参加腾讯社交广告算法大赛的队伍,这次想在这分享下我们队伍的经验。首先介绍下我们队伍,我们队伍3个成员是来自西安的高校生,在互联网上了解到这个竞赛,挺感兴趣,所以就参加了这个竞赛!

这次竞赛的要求是让选手预测出 App 广告点击后被激活的概率,也就是一种转化率的变形问题。对于这种问题,在提取特征的时候一般有3种有效的特征,一是原有的id特征,二是根据一些id特征做出来的历史转化率特征,三是相似度特征。对于我们这次竞赛,应该具体情况具体分析。

这次竞赛没有把所有的数据全部放在两个文件,也就是训练集和测试集中,而是给了8个数据文件,其中包括训练集、预测集、还有6个其他数据文件。在训练集和测试集中,共有的特征是:clickTime(用户点击时间,我想应该是点击广告中素材的时间,题目没明说);creativeID(广告素材的id),userID(用户id),positionID(广告位id,广告曝光的具体位置),connectionType(移动设备当前联网方式),telecomsOperator(运营商);训练集还多个 lable 列(我们要预测的列,二分类)和conversionTime(转化回流时间);训练集给了第17天到第30天的数据,也就是说点击时间是从第17天开始的,测试集是要预测第31天的情况。

其余的6个数据文件依次是:

1、user.csv (用户基础特征文件):有 用户 id、年龄、性别、教育程度、婚恋状态、是否有小孩、家乡、常住地;

2、app_categories.csv ( App 特征文件):有 Appid、app分类;

3、ad.csv (广告特征文件):有 广告主 id、推广计划 id、广告 id、素材 id、App的 id、App 所在平台;

4、position.csv (广告位特征文件):有 广告位 id、站点 id、广告位类型;

上面4个文件,我都可以根据 和训练集 预测集中相同的列,将他们的数据 merge 到训练集 预测集中,这样就完成了第一部分特征的提取,对于其他几部分特征,我之后就不再举这么详细的例子了!

5、user_installedapps.csv(用户 App 安装列表文件):截止到训练数据时间段中第一天用户全部的 App 安装列表,但是这个文件中只有 144万用户,和训练集中的 259万用户 相差些,和测试集用户的交集是 15万(测试集中一共有29万用户);

6、user_app_actions.csv (用户 App 安装流水文件):有3列,用户 id、安装时间、appid,但是这个文件只有 78万用户,和训练集中的259万用户 相差些,和测试集用户的交集是 8万(测试集中一共有29万用户)。

上面是所有的数据处理部分,接下来讲下我们的模型部分,在这次竞赛中很多选手都选用了 xgboost 和 ffm 这两种模型,初赛的数据量不是很大,用这两种模型还说的过去,但是在复赛的时候,数据量几乎达到了原先的10倍大小,只有在 xgb 上设置 gpu 加速模块,同时增加机器的核数,在参数设置中将这些设置好,才能达到一个不错的速度。

上面提到了基本配置,下面解释下我们为什么采用xgb这种模型。

首先因为它是一种树模型,属于 booster 的迭代算法,支持损失函数,支持L1L2正则可以防止过拟合,里面还有 scale_pos_weight 这个参数可以调节正负样本的加权训练。基分类器是 CART 树,每一棵树上的叶子节点都会有对应的判断,算法中采取投票器原则,得到最终的预测结果。而且在树分裂的时候,每一次分裂基于前一次分裂和目标函数 来计算信息增益,根据信息增益来选择最合适的特征,以及分割点。这是一种很完备的算法。当然建议其他选手也可以选择 gbdt lightgbm 这两种树模型,这几种模型最终的预测结果,他们之间的相关系数如果在 0.96之下,根据我的经验就可以进行融合,这也就是在比赛末尾有的选手利用多个模型 stacking 提分的原理!

参加这次竞赛最要感谢的就是我的师兄队友们,跟着他们学到了很多知识。这次也希望能将这些知识分享给大家!

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

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

编辑于

周恒的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CDA数据分析师

【零一】#操作教程贴#从0开始,教你如何做数据分析#中阶#第十篇

大家好,我是零一。这一篇给大家介绍聚类/分类。 我的公众微信号是start_data,欢迎大家关注。 我们先讲一讲聚类。 上一篇的探索关系,很多朋友反映说非常有...

1788
来自专栏机器之心

资源 | 基于OpenAI Gym的股票市场交易环境

选自Github 机器之心编译 参与:李泽南 机器学习在股票市场中的应用一直是个吸引人的研究方向,前不久瑞士金融数据顾问的《如何用 Python 和机器学习炒股...

3479
来自专栏专知

【下载】NLP绝佳入门经典图书《NLTK-Python自然语言处理》中英文版, 教程+代码手把手带你实践NLP算法

【导读】作为自然语言处理的经典图书教程,从输入法联想提示(predictive text)、email 过滤到自动文本摘要、机器翻译,大量的语言相关的技术都离不...

3725
来自专栏专知

干货|36页最新深度学习综述论文:算法、技术、应用,181篇参考文献

【导读】最近一期的计算机顶级期刊ACM Computing Surveys (CSUR)出版,包含了来自佛罗里达国际大学的研究人员发布的一篇深度学习综述论文《A...

1342
来自专栏磐创AI技术团队的专栏

热点 | 近期Github机器学习开源项目...

对于程序员来说,开源项目是十分有帮助的。希望你能从这篇文章中找到可以激发你灵感的有趣项目。最近磐创AI寻找“深大锦鲤”活动是2018年10月15日准时开奖哦~听...

882
来自专栏人工智能头条

几种监督式学习算法的比较

922
来自专栏机器之心

业界 | OpenAI发布8个仿真机器人环境和HER实现:可用于训练实体机器人模型

选自OpenAI 机器之心编译 本文发布八个仿真机器人环境和 Hindsight Experience Replay 的基线实现,这是过去一年的成果总结作者已用...

3024
来自专栏磐创AI技术团队的专栏

热点 | github近期热点项目汇总

【磐创AI导读】:我们总结了过去一年近8000个开源机器学习项目,从中选择了前30个最热点的项目推荐给大家。想要获取更多的机器学习、深度学习资源。欢迎大家点击上...

641
来自专栏AI研习社

Github 「stars」 平均 3558,最棒的 30 个机器学习实例

在过去的一年里,我们比较了近 8800 个机器学习开源项目选出了其中最棒的 30 个 (几率只有 0.3%)。 这是一个非常具有竞争力的名单,名单是从 2017...

36912
来自专栏AI科技评论

业界 | 一窥谷歌神经机器翻译模型真面貌,其底层框架开源!

去年,谷歌发布了 Google Neural Machine Translation (GNMT),即谷歌神经机器翻译,一个 sequence-to-seque...

3255

扫码关注云+社区