【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 条评论
登录 后参与评论

相关文章

来自专栏新智元

投资专家要小心,机器学习正在入侵VC

【新智元导读】机器学习对于投资管理将变得越来越重要,大多数公司将在 5 年内利用机器学习工具或数据,越来越多的战略创新过程将被自动化。本文还提出了解决过拟合问题...

3224
来自专栏ATYUN订阅号

Deepmind重大突破:训练AI学习人类大脑导航技巧

英国研究人员团队开发了一个人工智能项目,可以学习在迷宫里走捷径以实现目标。在这一过程中,程序开发出类似人脑的结构,学习导航技巧。

613
来自专栏专知

【下载】 TensorFlow:实战Google深度学习框架

【导读】“深度学习”这个词在过去的一年之中已经轰炸了媒体、技术博客甚至到朋友圈。这也许正是你会读到本书的原因之一。数十年来,人工智能技术虽不断发展,但像深度学习...

53114
来自专栏机器之心

Kaggle首份机器学习大调查:最常用的算法、语言竟然是......

34915
来自专栏大数据文摘

干货 | 北大林作铨教授:从事AI研究30年,我如何看待人工智能

1412
来自专栏应兆康的专栏

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

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

3018
来自专栏云市场·精选汇

如何细致地为用户提供业务知识服务?

近年随着深度学习及强化学习技术的进一步深入,智能问答机器人所依赖的知识库构建与维护成本也随之减少。大数据分析和智能语音技术在客服场景深入应用,AI正在变革客服行...

862
来自专栏IT大咖说

人工智能普及,你要失业了?

1432
来自专栏CSDN技术头条

在Kaggle上赢得大数据竞赛的技巧和窍门

译者注:Kaggle是一个为开发商和数据科学家提供举办机器学习竞赛、托管数据库、编写和分享代码的平台。本文作者讲述了自己在该平台上多次赢得竞赛的成功经验。以下是...

2349
来自专栏点滴积累

人工智能入门

前言 这个名字起的非常大,但是本文只能从一些概念和我自己的理解上介绍一下什么是人工智能。本文只是给从未接触过此块的人一个大致的印象和思路,其余人请直接略过。 一...

3767

扫码关注云+社区