Porto竞赛第一名解决方法

时间:2023-01-11 20:05:51

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的成绩获得第一名。

Porto竞赛第一名解决方法

总结

比赛结束后,看到Michael Jahrer放出来的方案,特征工程中用到的方法之前在论坛里都看到了,很多人这一步都差不多。大家的差距就是在模型上拉开的,我用尝试了Random froest、XGBoost、Lightgbn等众多的传统算法,但是没有用NN,到后期成绩就一直上不去了,模型融合的提升也有限。所以说,深度学习的前景很广阔,在很多的传统问题上也可以取得不素的成绩,拥抱改变。