【SPA大赛】预测广告转化率实战心得

大家好,我是来自华中科技大学计算机系的肖洋。第一次参加这种机器学习类的比赛,侥幸进了决赛,也来分享一下比赛心得体会。

一、问题与数据分析

这次比赛是预测广告转化率的问题,就是预测某个用户点击某广告之后发生转化的概率,这显然是一个二分类问题。首先简单对数据做一下统计,发现这里面正类负类比例严重失调,正类也就是发生转化的样本只占了总样本的2.5%。一上来我使用随机深林做了一下简单预测,发现预测的结果当中最大的概率也不超过0.5,所以我感觉很不靠谱,另外在知乎上看到有人说这是一个imbalance learning的问题,所以我就看了各种文章,使用里面的过采样、欠采样等方法,但是效果都不好,很明显我掉到坑里面了。总结一个经验吧,数据和实验结果才是王道,不要老凭自己的感觉去揣测。

二、特征选择

“特征决定上限,模型只能原来无限逼近这个上限”,这次比赛我确实深刻体会到了这个至理名言。特征工程是数据预测里面最重要的环节,没有之一。

首先是特征选择因为没有做过类似的比赛,所以一上来我就急急忙忙开始用随机深林的feature_importance做特征选择,这毫无疑问是费时而且错误的选择。其实有两种很简单的方法可以用来观察特征的重要性:第一种是通过data.groupby('feature').mean()'label'方法,得到这个样本在各个取值下的均值,然后再求一次方差,就知道这个特征的重要性了;另一种是通df=data.groupby('connectionType','label').size()来观察一下在给特征取不同值的时候正负样本的比例,如果取不同值的时候比例相差很大,这个特征十有八九是一个强特征。

其次是各种特征的挖掘、组合等,这些隐藏的特征才是决定成绩的关键。特征挖掘方面,主要是各种统计变量,例如用户安装的app个数、与各种特征对应的点击量、转化量、转化率等;特征组合方面,可以通过groupby('feature1','feature2').size()来简单统计一下组合特征下的label情况,然后选择最重要的特征组合。听大佬说connectionType和positionID是一个很重要的组合特征,可能我没有用好,导致了我和前面队伍的差距。

三、数据处理

数据处理方面我也没有花太多功夫,主要是对某些与转化率相关的特征做了一下贝叶斯平滑。为什么要做平滑,举个例子,对于特征creativeID,比如取值为100的样本只出现了一次,没有发生转化,由于样本太少,我们并不能直接认为取值为100的样本转化率为0,毕竟样本太少,没有说服力。贝叶斯平滑的文章参考http://blog.csdn.net/mytestmy/article/details/19088519

四、模型选择

我使用过四种模型,随机深林、逻辑回归、xgboost和fm。其中随机深林效果最差,当然也有可能是我把这个模型用废了,逻辑回归其次,fm比xgboost稍微好一点,可能是因为fm考虑了特征的组合。另外提一句,在我的实验过程中调参对于结果的影响是微弱的,所以个人建议不要把太多的时间花在调参上面了。

最后希望自己能在决赛当中取得一个好成绩。

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

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

编辑于

肖洋的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

学界 | 伯克利、OpenAI等提出基于模型的元策略优化强化学习

强化学习领域近期取得的很多成就都是通过无模型强化学习算法 [1,2,3] 实现的。无模型(MF)算法倾向于实现最佳性能,通常可应用且易于实现。

1103
来自专栏机器之心

嘿嘿,想变成会跳舞的小哥哥或小姐姐吗?超简单!

作者:Caroline Chan、Shiry Ginosar、Tinghui Zhou、Alexei A. Efros

641
来自专栏人工智能

深度学习CNN眼中的图片是什么样的

2017年最后一天,无心学习。本来想休息下的,结果看到了一篇Paper叫《Visualizing and Understanding Convolutional...

2878
来自专栏Petrichor的专栏

论文阅读: RetinaNet

此篇论文获得了ICCV最佳学生论文奖,指导人是FAIR的He Kaiming大神:

3063
来自专栏YoungGy

构建聊天机器人:检索、seq2seq、RL、SeqGAN

本文将简要介绍聊天机器人的四种构建方法:检索、seq2seq、Reinforcement Learning、seqGAN。 ? 聊天机器人的现状 聊天机器人从应...

4169
来自专栏AI派

5个原因告诉你:为什么在成为数据科学家之前,“逻辑回归”是第一个需要学习的

来源 | https://towardsdatascience.com/5-reasons-logistic-regression-should-be-the-...

773
来自专栏机器之心

前沿 | DeepMind提出新型超参数最优化方法:性能超越手动调参和贝叶斯优化

3444
来自专栏机器之心

修改一个像素,就能让神经网络识别图像出错

2747
来自专栏Python数据科学

5个原因告诉你:为什么在成为数据科学家之前,“逻辑回归”是第一个需要学习的

来源 | https://towardsdatascience.com/5-reasons-logistic-regression-should-be-the-...

1384
来自专栏机器之心

ECCV 2018 | 旷视科技提出统一感知解析网络UPerNet,优化场景理解

论文名称:《Unified Perceptual Parsing for Scene Understanding》

1592

扫码关注云+社区