【SPA大赛】广告数据挖掘的经验分享

大家好,我们的团队是由来自三个不同专业的小伙伴组成,且都是萌新,这是我们团队第一次参加数据挖掘比赛。我们团队从5月10号下载数据后开始看题目,找相关资料等,就在当天晚上我在腾讯官方微信公众平台上看到了腾讯数据挖掘工程师陈成龙分享的“ kaggle 数据挖掘比赛经验分享”的干货,这份干货对数据挖掘小白的我们实在是太有用了,于是我和队友花了整整一天的时间研究了一下这份干货,随后再去看题目,这才有了一些思路。尽管我们在初赛过程中困困重重,但我们经过两周的共同的努力,目前以0.099711的成绩进入了决赛。下面我就针对具体问题介绍一下我们的做法。

1.数据集构造方面

我们在看了好几遍题目后,开始尝试用干货中提到的数据清洗策略清洗本次数据。首先是分别统计了 train.csv 中 label=1 和 label=0 的样本数量,发现这个比例是1:40,很明显是正负样本不均衡的问题。然后发现数据分布在6个.csv 文件中(train.csv和test.csv除外),这里需要做的工作就是 merge,但真正要把 merge 做好就需要找对连接的标签和采用的连接方式,我们用了左外连接。另外在 validation 划分方面,我们随机选取数据集的12%作为 validation ,因为不同的随机数种子产生的 validation 集的 logloss 会有些差异,但是要注意数据泄露的问题,比如用18-24的数据去做训练,25天的数据去做测试,这就有可能导致数据泄露,这里我们尝试改变随机数种子使得线上线下接近一致。

2.模型构建方面

我们队使用的模型是模型 xgboost,没有调参,也就是默认的参数。我们的主要精力放在寻找特征上,在决赛中我们可能考虑用 lightgbm,因为决赛数据是预赛数据的10倍,所以为了尽快看到结果,所以会选择 lightgbm。

3.特征工程方面

在广告点击率和转化率的特征中,特征可以分为三类,一是 categorical feature (无序特征),二是 ordinal feature(有序特征),三是 numberical feature(数值特征)。我们队对于特征的处理如下:

(1)使用统计频率、转化次数特征、转化率特征代替 onehot ,这里我们对 label=1的用户进行统计分析,针对用户的历史交互,安装 app 等信息,从用户的角度去思考可能决定他点击广告后发生激活的原因,由此提取出一些可能的特征,之后再进行特征提取以及验证。

(2)对训练集和测试集中的重复样本构造是否第一次点击,是否中间点击,是否最后点击,第一次和最后一次间隔特征。

(3)大量使用组合特征,主要是用户特征和广告上下文特征。

总结

在初赛过程中,我们不断地挖掘特征,检验特征,阅读 kaggle 上竞赛获奖者的开源代码等,尽管我们目前的成绩不是太好,但是我们真正学到了东西,正所谓,一次参赛,终身受益。最后感谢腾讯为我们提供的平台和服务。

最后预祝小伙伴们在决赛中取得好的成绩。谢谢。

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

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

编辑于

王晓娟的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【重磅直播】Jeff Dean领衔谷歌大脑在线答疑16大问题,看好3大方向

【新智元导读】谷歌大脑团队现在正在Reddit上进行他们第二次AMA在线答疑,目前网友留言已经高达490多条。新智元第一时间为你编译整理:谷歌大脑当前的工作重心...

2454
来自专栏about云

数据挖掘快速入门

问题导读 1.什么是数据挖掘? 2.机器学习 与 数据挖掘在什么地方? 3.数据挖掘能解决什么问题? 1 数据挖掘 数据挖掘(Data Mining,简...

3238
来自专栏新智元

华为李航:NLP 有 5 个基本问题,深度学习有4个做得很好 (PPT)| 北大AI公开课

【新智元导读】 在北大 AI 公开课第8讲上,华为诺亚方舟实验室主任李航老师综述性地为大家介绍了 NLP 的任务、特点、最新技术以及发展趋势。李航老师精辟地总结...

5656
来自专栏量子位

进阶深度学习?这里有9个给程序员的建议

这名开发者名叫Alexey Gaziev,是一家社交媒体管理创业公司的CTO,原来是一名Ruby开发者,后来自己学习深度学习。

1202
来自专栏Bingo的深度学习杂货店

图像识别——突破与应用

最近,图像识别领域发布了白皮书,简单翻译一下做个总结。 ---- 目录 [1] Introduction      1.1 Exponential Growt...

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

进阶深度学习?这里有9个给程序员的建议

这名开发者名叫Alexey Gaziev,是一家社交媒体管理创业公司的CTO,原来是一名Ruby开发者,后来自己学习深度学习。

755
来自专栏人工智能的秘密

黑箱难题阻碍了深度学习的普及与发展

当前,深度学习扛起了人工智能的大旗,让我们了解到了智能机器的能力有多大,但是有个问题就是:没有人知道它内部究竟是怎么运作的。

1845
来自专栏机器之心

前沿 | 没有地图也能导航:DeepMind展示全新AI导航技术

选自DeepMind 作者:Piotr Mirowski等 机器之心编译 当前的无人驾驶汽车高度依赖于精确的地图进行导航,尽管各家科技公司已经构建了接近完美的 ...

2755
来自专栏大数据文摘

驯化算法就像驯化小狗一样

2345
来自专栏新智元

【复现谷歌论文,成为共同作者】Facebook AI Lab负责人发起ICLR可重复性竞赛

【新智元导读】如今机器学习论文可复现性低成了研究界愈发关注的问题。为此,Facebook蒙特利尔AI Lab负责人联合全球5所大学,发起了机器学习可复现挑战赛,...

36615

扫码关注云+社区