【SPA大赛】菜鸟在数据挖掘中的体验

首先很感谢腾讯举办这次比赛,让我们学生党可以接触到这么丰富的数据。这是我们团队第二次参加数据挖掘的比赛,虽然在第一次的比赛中没能取得好的成绩,但也从中吸取了很多经验和教训,让我们尽快地开展了工作。抱着学习和交流的心态,我们参加了这次腾讯举办的广告社交大赛。

在参加比赛中,我们觉得以下几点可以帮助我们尽快融入比赛中的:

1、首先要理解业务场景。

刚看到题目时,我们并没有着急开始分析数据,而是,首先明确了任务要求和提供的数据。在这个比赛中,我们要预测的是31天的转化率,官方提供了17到30天的 历史行为数据,还有用户和广告的基本信息;对于业务的理解,我们需要知道提供的每张表格中那些信息,每种信息是怎样关联起来的。了解业务场景有助于我们提取优秀的特征,我们可以假设自己是一个点击的用户,从一个用户的角度来思考怎样的特点会吸引发生转化行为;

2、如何开展特征工程。

构造怎样的特征工程和你对业务理解有关,这是一个关于时间序列的问题,用户的过去行为反映了用户在31天的可能转化的情况,所以我们可以考虑用户过去时间里的点击后发生转化的比率来表征用户的特征,同时我们也用了APPid点击后发生转换的比率来表征app的特征;在构造特征的过程中,由于这是一个关于时间序列的问题,要防止“穿越”行为——用用户未来的数据表征当前用户的特征;同时,构造特征时,除了自己对了业务的理解外,还可以进行数据分析, 一个方法是按label进行分组统计的操作,看看哪一类特征在lable中有着不一样的分布,下面这一段代码统计lable在不同的positionID和age类型下的转化率。

per_positionID= traintestUser.groupby('positionID').apply(lambda df: np.mean(df["label"])).reset_index(name = 'per_positionID')
per_age= traintestUser.groupby('age').apply(lambda df: np.mean(df["label"])).reset_index(name = 'per_age')

这是我们的实验结果:

从结果可以看出不同的positionID在转化率上有着很大的差别,所以我们把positionID的转化率作为一个重要的特征,'age'在不同的类别上的转化率并没有很大的区别,所以‘age’的区分能力并不强;

对于表格数据表达信息不直观的问题,可以考虑做数据的可视化,下面是对age的转化率做可视化的结果:

同样展现了不同的age类型在转化率上没有较大差别,也就没有很大的区分能力。对于如何进行数据可视化,kaggle上有一个不错的分享:

https://www.kaggle.com/benhamner/python-data-visualizations

3、特征工程的重要性。

就像一句老话说的那样,“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”,所以说,在比赛的前期阶段我们更加要重视特征工程的构建,一个好的特征就能使得损失下降很多。举一个例子来说明,在这个比赛中,组合特征就是一个很强的特征,用户点击后安不安这个APP和这个APP性质有很大关联,有些APP是针对男性的,有些APP是针对未婚人士的,所以我们提取了APP和性别、年龄、婚姻状态来做组合特征,加上这几维特征后,我们线上的损失直接下降了0.002,相对于调参和换其他算法,这样的提高来得更加直接些;当做特征工程没有很大的作用时,我们才开始考虑做参数调优和模型融合;

4、多和别人交流。

由于我们参加比赛的经验不足,在思路方面不是很开阔。在交流群上和别人进行交流能打开自己的思路,同时,也可以多多参考Kaggle上类似的比赛,除了能学习到别人的思路想法以外,还可以学到大神的代码风格,增强实现自己想法的能力。

抱着学习进步的心态参加这次比赛,学习很多大神分享的经验,就算没能获得很好的名次,也是一次很难得的经历。希望这次比赛越办越好,大家在这次比赛中有所收获。

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

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

编辑于

谭学仕的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

深度学习如何落地安防应用?

今年,市场研究&咨询公司GrandViewResearch发布了一份深度学习市场分析报告。报告表明,2016年全球深度学习市场估值为2.72亿美元,其在自动驾驶...

2469
来自专栏机器之心

专栏 | 腾讯音视频实验室Interspeech 2017论文:单通道语音分离中应用深度神经网络的训练优化

机器之心专栏 腾讯音频实验室 2017 年 8 月 20 日,语音通信领域的国际顶级学术会议 Interspeech 2017 在瑞典斯德哥尔摩召开,腾讯音视...

2893
来自专栏数据科学与人工智能

【应用】信用评分:端到端的开发过程

合理的“现在购买,稍后付款”是许多金融和零售公司为了增加客户群而向其客户提供的诱人服务。 但是,双方在进行信贷决策时需要了解风险。 贷款人和客户都很重要,即客户...

1060
来自专栏应兆康的专栏

开发集和测试集应该来自同一分布

791
来自专栏null的专栏

计算广告——平滑CTR

一、广告计算的基本概念 1、广告的形式 在互联网发展的过程中,广告成为了互联网企业盈利的一个很重要的部分,根据不同的广告形式,互联网广告可以分为: 展示广告(d...

44912
来自专栏钱塘大数据

苹果首份人工智能报告:一篇关于机器学习的论文

在人工智能强势来袭的今天,无论是Google、Facebook亦或是一些创新企业,都离不开高频的讨论这个话题,然而作为世界科技巨头的领先者之一的苹果一直以来似乎...

40511
来自专栏机器之心

学界 | 基于概率隐层模型的购物搭配推送:阿里巴巴提出新型用户偏好预测模型

3826
来自专栏数据科学与人工智能

R语言玩数据:数据+算法+计算引擎+知识表达

作者:陆勤 ---- 摘要:介绍玩数据的四部曲,分别是数据、算法、计算引擎和知识表达。 文章《R语言玩数据:R语言和数据》介绍了R语言和数据。 文章《R语言玩数...

2796
来自专栏CDA数据分析师

3个必须知晓的数据分析概念,无论资深还是小白

介绍 在过去的几年中,人们对数据分析方法越来越重视。通过深入洞察数据情况,帮助很多企业改善了其经营状况。 通过分析数据,企业可以对其企业过往以及未来的表现有了...

2095
来自专栏应兆康的专栏

10. 用开发集和评估指标来加速迭代

对于一个新问题,事先是很难知道用什么方法解决它是最合适的。即使机器学习经验丰富的研究员也需要尝试许多,才能得到令自己满意的东西。在构建机器学习系统时,我经常会:

3048

扫码关注云+社区