返回列表

🏆 Solution Write-up – Top 25

664. Playground Series - Season 5, Episode 8 | playground-series-s5e8

开始: 2025-08-01 结束: 2025-08-31 信贷风控 数据算法赛
🏆 解决方案撰写 – 前 25 名

🏆 解决方案撰写 – 前 25 名

副标题:特征工程加上模型多样性效果最佳

作者:abdelbasset ben kerrouche (bassetkerouche)

发布时间:2025 年 9 月 1 日

竞赛排名:前 25 名 🎉

1. 简介

本次竞赛是一个使用银行营销数据集的二分类任务。

目标:预测客户是否会订阅银行定期存款。

数据大小:训练集约 750,000 行 × 16 个特征,测试集约 250,000 行 × 17 个特征。

结果:我在私有排行榜上进入了前 25 名。

起初,我的排行榜(LB)得分约为 0.97555。经过广泛的特征工程、数据增强和模型实验,我能够显著改善结果并最终达到该排名。

2. 特征工程与数据增强

最初,我手动创建了大约 30 个新特征。

后来,我发现了一个非常有用的 Notebook,作者是 Chris Deotte,这启发我进行了更复杂的变换(谢谢你 Chris,我一直向你学习)。

利用他的想法,我创建了超过 447 个新特征,将我的 LB 提升至 0.97717,CV(交叉验证)提升至 0.976。

由于数据集不平衡(87% 为类别 1,13% 为类别 0),我应用了合成数据生成(synthcity)来过采样少数类。这提高了模型的鲁棒性并减少了对多数类的偏差,但这对我并没有生效。

3. 模型与训练策略

我使用了多个模型并进行了几轮训练:

基础模型:

  • LightGBM (LGBM)
  • XGBoost (XGB)
  • 神经网络 (NN)
  • CatBoost 和其他基于树的模型(在某些实验中)

调优策略:

  • 对于 XGB,我使用了不同的学习率多次训练:0.1 → 0.07 → 0.02。
  • 对于 LGBM,我使用了 5 个不同的随机种子训练了 5 次。
  • 对于 NN,我使用了 4 个不同的种子运行了 4 次。

交叉验证 (CV):

我尝试了不同的折数:

  • 5 折
  • 7 折
  • 11 折,事实证明这是最强大且最稳定的。

我总是更信任我的 CV 结果而不是 LB,这帮助我避免了排行榜过拟合并指导了我的模型选择,最好的 CV 结果是逻辑回归 AUC: 0.976979405561156。

第一种方法(简单集成):

最初只使用了 2 个模型(LGBM + XGB)。

在调整超参数重新训练后,得分有所提高。

第二个 Notebook( larger ensemble):

  • 训练了 13 个模型(混合了 LGBM, XGB, CatBoost, NN, Trees)。
  • 使用了 3 个元模型(NN, Tree, XGB)进行堆叠。
  • 在残差上训练了 4 个模型(专注于误差)。
  • 最后添加了一个逻辑回归 (LR) 混合器。

这达到了 CV 0.9758 和 LB 0.97683。

4. 最终集成(混合与堆叠)

结合了以下预测结果:

  • 5 个 LGBM
  • 3 个 XGB
  • 5 个 NN
  • 第二个 Notebook 中的 13 个多样化模型

全部使用逻辑回归 (LR) 进行堆叠。

我还应用了加权混合:

  • 我最强的 Notebook 结果乘以 0.3。
  • 其他较弱的模型被赋予较小的权重。

总共有大约 10 组预测结果在最终解决方案中进行了混合。

5. 挑战

大数据集:训练计算成本很高,因此我将工作流分成了 8 个独立的 Notebook:

  • 4 个 Notebook 专门用于数据准备和保存处理后的文件,我制作了 3 个大型数据集,一个用于 NN,一个用于 LGBM,另一个用于 XGB。
  • 4 个 Notebook 用于模型训练、堆叠和混合,其中 2 个用于混合。

时间管理:需要仔细安排时间表, overnight 运行多个种子和长时间实验。

6. 结果

公共排行榜 (Public LB): 0.97733

私有排行榜 (Private LB): 前 25 名 🎉

7. 关键要点

  • 特征工程是最大的性能提升器(+447 个新特征至关重要)。
  • 11 折 CV 比 5 折或 7 折提供了更稳定性和更强的结果。
  • 始终信任 CV 而不是 LB 使我的解决方案保持稳健,免受排行榜过拟合的影响。
  • 模型多样性(NN + LGBM + XGB + Trees)减少了方差。
  • 多个种子 + 残差模型提高了鲁棒性。
  • 加权混合比依赖单个强模型更安全。
  • 将管道拆分为独立的 Notebook 节省了时间和内存,Chris 的想法见 这里

8. 致谢

特别感谢 Chris,每天都向他学习,尤其是特征工程的想法启发了我解决方案的很大一部分。

同比赛其他方案