各位同学大家好,我是本次参赛选手李博,现在就读于北京邮电大学,是一名研一的在校生,研究方向是数据分析和机器学习。这次腾讯的比赛参加的比较晚,因为前面在准备京东的决赛答辩。不过看了几天数据,现在我把我的一些初步分析分享给大家。
一、训练集和测试集的划分:
大家都知道,腾讯决赛数据集巨大,简直让人绝望。所以我建议大家按每天划分数据集,再分开处理,提取各天的特征,这样一方面数据控制能力强,另一方面,统计特征不会穿越,最重要的是还能跑得动。。。。
二、业务理解:
大家都知道了一些trick,我在这就不说了。我想强调的一点是,我们解决的任何问题都不能脱离业务场景进行分析,因为好的特征都来自于与业务场景的深入理解和对原始数据的细致分析,所以大家要设身处地想用户是怎么看到广告,点击广告,转化广告的。通过思考想一下自己在使用过程中,哪些东西吸引了自己去点击,哪些东西吸引了自己去转化。这样可以找到很强的特征噢~
三、特征工程:
在特征工程部分,我提几点吧:
1、因为我们要对每天进行统计,所以我建议大家把clicktime和conversiontime转化为这种形式,方便我们统计一些时间特征,也方便我们划分数据集:
2、我们看数据介绍,广告的类型是二级的,所以我们要把广告类型分开一级和二级两列(我发现很多同学都没处理这个),这样一方面模型更加合理,另一方面我们可以得到哪个一级广告热度高,每个用户分别钟爱哪种一级广告等等统计量;
3、选取特征时不要穿越就不用说太多了,大家要注意不是没利用标签就是不穿越,你的各种超前统计可能都是穿越噢~
4、我们可以把业务转化为一个简单的图模型,然后在图模型里面找一些统计量来作为特征,通过图模型也可以更加深入的理解业务场景。我做个简单的示意图:
初步分析:上图是一个用户对一个时间窗口内的app的考察记录,app之间的箭头表示用户点击之间的跳转,在整个过程中,我们可以计算每个app的入度,这样可以找到哪个app更受此用户欢迎。
图模型是一个非常强的分析工具,比如你还可以加自环,这样可以看到用户的重复点击情况等等。
当然,如果你把时序特征分析的很清晰,那么可以不用图模型,但是图模型确实是个很简单又有效的分析方法。
5、大家可以做一些数据可视化分析,找到一些分辨能力强的统计量。比如统计用户的活跃时间、app的活跃时间等等,说不定有惊喜。
6、交叉特征在这个赛题里面十分重要,不要忘记交叉特征,具体怎么做就不方便透露了(说太多队友会打死我)~哈哈
四、模型算法与框架设计:
模型的话,xgb看来是不怎么好用了,速度有点慢,反馈不及时,大热天的等的心烦。。。建议大家换lightGBM吧,比xgb效果差一丢丢,不过速度快很多,看着就爽。另外大家可以多思考一下框架设计这部分,比如融合方法,其实不仅仅局限于模型融合,还有其他的融合方法可以用来提高成绩。
说了这么多希望给大家一些提示,或者更加清晰的思路。
have fun!