343. IEEE-CIS Fraud Detection | ieee-fraud-detection
祝贺所有顶尖团队,尤其是金牌区的各位。这对我们(至少对我来说 😎)是一场艰难的比赛。
我们的解决方案基于堆叠。我个人是以大约20个模型的堆叠开始这场比赛的,在添加了越来越多的oof(out-of-fold,袋外)预测后(起初使用Roman的KFold(k=5, shuffle=False)验证方案,LB分数约为0.9419),我继续添加了来自以下来源的oof预测:
完成这些后,我最终得到了大约900多个oof预测。通过使用LGBM作为分类器的RFE(递归特征消除)从这些oof中选出大约120个,我在LB上达到了0.9552。之后,我与现在的队友组队,我们汇集了各自的特征和oof预测。ynktk有一个在大约2000个特征上训练的XGB,得分为0.9528,他在研究单模型时使用与我相同的验证方法创建了许多oof预测。ynktk从一开始就使用KFold + 暴力特征工程(数据的各种聚合),而我的其他队友主要基于按月GroupKFold的验证进行特征工程(FE),因此在多样性方面非常有帮助。幸运的是,在一两天后我们达到了0.9579。
在阅读了Konstantin关于making them do friendship(让他们建立友谊)的帖子以及他使用CatBoost的经历后,我开始寻找“魔法”(在我看来他的魔法很可能是某种形式的交互)。首先,我专注于分类特征的交互,特别是card1-card6和地址,然后我将C和D特征添加到我的交互中。在对CatBoost进行了大量实验后,我发现了特征card1 + date.day - D1(视为分类特征)并与队友分享(后来Youngsoo Lee发现card1 + card6 + addr1 + addr2 + date.day - D1是一个更好的选择)。在专注于这个特征并基于它添加新的oof预测后,我们达到了AUC=0.9649。
我们最好的堆叠模型是一个5次Bagging的XGB(比LGBM稍好),使用大约190个oof预测(从大约1100多个oof池中选择)进行训练,在LB上得分为0.9650,CV分数为0.9644。