Porto竞赛结束后,很多参赛的选手都分享了自己的解决方案。借鉴大神们的经验,为以后的竞赛中能够取得好的成绩增加一点自信。
Porto竞赛
Porto竞赛要求参赛选手预测用户下一年发起汽车保险索赔的可能性。具体的描述请看Kaggle网站:
Porto竞赛介绍
这个比赛作者也参加了,但是成绩很不好。比赛的难点在于这是一个传统的监督学习问题,但是特征已经被Porto的举办方处理过,我们无法得知特征的真实意义。在比赛初期,我花费了大量的时间来构建特征,对结果的提升并不是很大。
第一名Michael Jahrer的解决方案
比赛结束后,第一名选手Michael Jahrer分享了他的解决方案。
1.数据预处理
Michael Jahrer在比赛中使用到了神经网络,因此他对数据进行了归一化,使用的是“RankGauss”工具。
2.特征工程(feature engineering)
Michael Jahrer对特征的处理主要有两步:
一是删除了*calc的特征
二是对*cat的特征进行了OneHot编码
3.模型融合
Michael Jahrer的最终方案采用了模型融合,共两层。
第一层:1个Lightgbm模型,5个NN模型
第二层:线性回归
最终以0.2965的成绩获得第一名。
总结
比赛结束后,看到Michael Jahrer放出来的方案,特征工程中用到的方法之前在论坛里都看到了,很多人这一步都差不多。大家的差距就是在模型上拉开的,我用尝试了Random froest、XGBoost、Lightgbn等众多的传统算法,但是没有用NN,到后期成绩就一直上不去了,模型融合的提升也有限。所以说,深度学习的前景很广阔,在很多的传统问题上也可以取得不素的成绩,拥抱改变。