腾讯社交广告高校算法大赛——心得
Another url: https://bulihanjie.github.io/2017/05/21/腾讯社交广告高校算法大赛心得/
##感想
写了这东西之后,就感觉自己像是立了个flag一样……
##特征的选择
关于特征选择,其中有两个方面是应该值得关注的。
一方面是特征的重要性,特征的重要性反映的是特征对模型效果的影响程度,理论上重要性越高的特征应该保留下来,而重要性较低的会考虑删除。特征越多,会使得模型越复杂,减少不必要的特征会使得模型更加稳定。其中常用的方法可以考虑xgboost中计算的特征重要性,或者是通过扰乱某个特征值的次序根据模型效果变化来得出。特征重要性计算的方法不少,大家可以再网上查找一下。
另一方面是特征分布是否一致,特征分布主要考虑的是线上和线下的分布差异。由于这次比赛的数据具有时序性,并且很多选手也因为在提取特征时因为信息泄露的原因导致线下成绩提升而线上成绩降低,这些问题都可以通过特征值的分布差异来排除掉,当分布不一致的特征,我们应该优先删除。特征分布差异,简单的可以通过线下和线上特征值的均值、标准差差异来考虑,或者基于其它的统计学的方法。
通过特征的重要性和分布综合考虑,应该就可以得到比较理想的特征效果了。
##特征生成
关于特征生成,大体上可以分为两个大方向。
一个方向就是俗称的“拍脑袋”,根据个人对于数据观测、题目理解等考虑,得出的一系列规则转化为特征。这样很容易就会产生一系列有用或者无用的特征(比如one-hot、各种的转化率、点击量等特征),其中很多的特征所代表的意义其实是重复的,比如对各种ID做