返回列表

21st Place Solution -> Binary Classification with a Bank Dataset Competition

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

开始: 2025-08-01 结束: 2025-08-31 信贷风控 数据算法赛
第 21 名解决方案 -> 银行数据集竞赛的二分类问题

第 21 名解决方案 -> 银行数据集竞赛的二分类问题

模型多样性与努力

作者: pinoystat
发布日期: 2025 年 9 月 1 日
竞赛排名: 第 21 名

各位 Kaggle 伙伴们大家好!

在这次竞赛中我学到了很多。我想分享一下我在奋力保持 leaderboard 排名时的一些心得。

我避免了数据泄露

在这次竞赛中,我的主要重点是防止交叉验证期间的数据泄露。这样,我的交叉验证分数的完整性得以保持,并且可以信赖。我最终选择的 2 次提交取决于 CV 分数。结果符合预期。我 CV 分数最高的提交使我在私有 leaderboard 上获得了第 21 名。这意味着,只要交叉验证过程是可信的(没有数据泄露),老话“相信你的 CV"依然是正确的。

如果预处理管道窥探了验证集的内容,就可能发生数据泄露。例如,在目标编码期间,如果对整个数据集进行目标编码,而不仅仅是在交叉验证期间对训练部分进行编码,就可以证明这种效果。这将导致 CV 分数虚高,并且该分数不能代表模型的性能。因此,最有效的方法是在 KFold 的每个折叠基础上进行预处理管道(拟合和转换)。

我将 Keras 用作预处理管道和特征工程的一部分。

我使用 Keras 深度学习模型作为特征提取器和预处理管道的一部分。当被 GBDT 模型使用时,提取的特征被证明是有效的。Keras 完整模型的交叉验证分数与 XGBOOST 之间的巨大差异(鉴于两者具有相同的潜在特征)很能说明问题。

我还采用了不同类型的特征工程。其中一些工程特征仅对深度学习模型有效,一些对 GBDT(梯度提升决策树)有效,还有不少对逻辑回归等有效。

我集成了我的模型

像往常一样,解决方案是一个大型堆叠分类器,其中混合了许多基础模型。Keras 深度学习模型、XGBoost、LightGBM、CatBoost、HistGradientBoostingClassifier、决策树分类器和逻辑回归是基础模型,仅举几例,它们在特征工程或特征提取的数据集上训练。这次,我使用 XGBoostClassifier 作为元模型分类器。这些模型越多样化,结果就越好。

努力是关键

我创建了大约 70 个模型。这需要大量的工作和时间。这是因为给定一组特征,单个模型很可能被多样化模型的集成所击败。

最后,我想说恭喜大家!继续学习,祝你有个美好的一天!

同比赛其他方案