【SPA大赛】如何预测移动 App 广告点击率

1 问题描述

计算广告是互联网最重要的商业模式之一,广告投放效果通常通过曝光、点击和转化各环节来衡量,大多数广告系统受广告效果数据回流的限制只能通过曝光或点击作为投放效果的衡量标准开展优化。腾讯社交广告发挥特有的用户识别和转化跟踪数据能力,帮助广告主跟踪广告投放后的转化效果,基于广告转化数据训练转化率预估模型(pCVR,Predicted Conversion Rate),在广告排序中引入pCVR因子优化广告投放效果,提升ROI。本题目以移动App广告为研究对象,预测App广告点击后被激活的概率:pCVR=P(conversion=1 | Ad,User,Context),即给定广告、用户和上下文情况下广告被点击后发生激活的概率。

2 数据概览

提供的数据主要有以下几种:

1 训练数据文件(train.csv),其中用户、APP等信息为独立文件

2 用户基础特征文件(user.csv),包含用户的年龄性别等

3 用户App安装列表文件(user_installedapps.csv)

4 用户App安装流水文件(user_app_actions.csv),提供了训练数据开始时间之前16天开始连续30天的操作流水,即第1天0点到第31天0点

5 App特征文件(app_categories.csv),提供了每种APP的特征。

6 广告特征文件(ad.csv)

7 广告位特征文件(position.csv)

3.1 初赛数据描述

测试数据从训练数据时段随后1天(即第31天)的广告日志中按照与训练数据同样的采样方式抽取得到。需要根据训练数据所给出的信息,对数据集中Label -1的待预测信息进行预测。

3.2数据预处理

数据的预处理主要通过pandas实现,主要包括了平滑,采样,将数据分级操作。预处理的目的主要是解决以下问题:

1 不同量纲

2 信息冗余

3 定性信息量化

4 缺失值处理

5 提高信息利用率

第一个版本数据处理代码如下:

3.3 问题分析

有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。

由于数据集里面特征较多,对时序的要求不是很高。于是重点放在了特征的分析与选择上。开始特征选择使用了sklearn里面的feature_selection模块。

但是这个模块跑起来比较占内存电脑实在不给力,特征多起来之后程序运行非常耗时。之后改用pandas直接进行一些统计分析。

同理对每个数据集都进行如上处理。特征的选择主要关注几点:特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。选择方法主要使用Filter方法。

3.4数据探索

训练模型使用了xgboost,由于github上开发团队把windows文件夹给删了,装这个算法库还破费了一些时间。装上以后简单跑了一下效果还不错:

Xgboost的调参网上也有一些博客讲,通用的方法是使用cv函数,确定几个重要参数的范围。根据cv函数的返回分数调整。另外feature_important分析也很重要,正好在这个函数里面一起看了。

![](//blog-10039692.file.myqcloud.com/1496979354955_4341_1496979370748.jpg)

在这些之后模型的精度也就到极限了,再想提高就需要从特征中重新挖掘可用的信息了。我想到的是交叉统计。直接把id特征相乘,之后再对id乘积的表格中的个数进行统计,这样就增加了一倍多的特征,成绩也有所上升。之后根据编码的原理,把特征进行分级编码,得到一些有效的维度,也还比较有效

4 总结

实际上我们可以使用sklearn完成几乎所有特征处理的工作,而且不管是数据预处理,还是特征选择,抑或降维。如果电脑给力的话,可以用它很方便的完成。在这期间有很多不会的,还需要再磨炼一下水平,有时候哪块不会就拿IRIS(鸢尾花)数据集开刀。学会了再拿到比赛里用。最后发现其实不一定要使用各种特征,因为各个特征也有有随机因素在里面的,如果把特征用的很多,最后模型都不知道拟合到哪去了,关键还是结合赛题背景。

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

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

编辑于

周鸿宇的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

网络分析法(Analytic Network Process,ANP)

什么是网络分析法 网络分析法(ANP)是美国匹兹堡大学的T.L.Saaty教授于1996年提出的一种适应非独立的递阶层次结构的决策方法,它是在层次分析法(An...

3385
来自专栏大数据文摘

​入门指南 | 人工智能的新希望-强化学习全解

1677
来自专栏人工智能头条

Bengio终结Theano不是偶然,其性能早在Keras支持的四大框架中垫底

1062
来自专栏ATYUN订阅号

声音分类的迁移学习

识别我们周围环境中的声音是我们人类每天很轻松就能做到的事情,但是对于计算机相当困难。如果计算机可以准确识别声音,它将会在机器人,安全和许多其他领域得到广泛应用。...

3664
来自专栏AI派

机器学习法则:ML工程的最佳实践

Martin Zinkevich 在2016年将 google 内容多年关于机器学习相关的经验分享了出来,这篇文章是对该分享的一些翻译+解读,如果想查看原文请参...

1223
来自专栏AI科技大本营的专栏

实战 | 深度学习轻松学:如何用可视化界面来部署深度学习模型

翻译 | AI科技大本营 参与 | 王赫 上个月,我有幸结识了 DeepCognition.ai 的创始人。 Deep Cognition (深度认知) 建立的...

33410
来自专栏非著名程序员

GitHub 上最火,最热门的机器学习和人工智能,数据科学项目

最近,普拉纳夫 · 达尔(Pranav Dar)发文总结了 2018 年 2 月份 Github 上最火的 5 个数据科学和机器学习项目。

883
来自专栏AI科技大本营的专栏

精选机器学习开源项目Top10

【导读】过去一个月里,我们对近 250 个机器学习开源项目进行了排名,并挑选出热度前 10 的项目。这份清单的平均 github star 数量高达919,涵盖...

1002
来自专栏IT派

7步让你从零开始掌握Python机器学习!

这篇文章旨在通过7个步骤,将最少的机器学习知识转化为知识型实践者,所有这一切都在使用免费的材料和资源。这个大纲的主要目标是帮助你通过许多可用的免费选项; 有很多...

3164
来自专栏AI科技大本营的专栏

“史上最强”BigGAN公开TensorFlow Hub demo!

还记得前些日子轰动一时的 BigGAN 模型吗?生成对抗网络(GAN)作为当前最热门的技术之一,最近在图像生成方面的成果颇受人关注。近日,由 DeepMind ...

1032

扫码关注云+社区