返回列表

2nd place solution - (A lot of) Stacking

455. Tabular Playground Series - Sep 2021 | tabular-playground-series-sep-2021

开始: 2021-09-01 结束: 2021-09-30 保险科技 数据算法赛
第二名解决方案 - (大量的)堆叠法

第二名解决方案 - (大量的)堆叠法

作者:Vasilis Konstantakos
比赛排名:第 2 名

大家好,

首先,我要感谢 Kaggle 团队举办了如此精彩的挑战,也要感谢这里的社区分享了大量有帮助的知识。

我还要感谢 @mlanhenke、@realtimshady、@tunguz、@lucamassaron、@firefliesqn 以及讨论区许多其他人分享他们的方法。许多想法和模型都是基于他们的 Notebooks,正是因为他们,我才创建了这样一个多样化的堆叠模型。

实际上,我并没有预料到能获得第二名,因为我主要使用的是基本的方法和技术。最极端的实现是基模型的数量,最终达到了 115 个。总体结构如下图所示,随后是更多细节。

模型结构图

预处理

  • 每个实例的各种统计信息(例如,缺失值数量、标准差、最小值、最大值、平均值等)。
  • 根据变量的分布,用均值、中位数和众数填充全部或部分空值。
  • 使用不同的缩放器对数据进行缩放(例如,Standard、Robust 等)。
  • 基于初始特征创建分类特征。
  • 添加 k-means、异常值、t-SNE 和 UMAP 特征。

基模型

  • XGB、LGBM 和 CatBoost 在 CPU 和/或 GPU 上进行训练,并使用 Optuna 进行优化。
  • 基于直方图的梯度提升分类器也通过 Optuna 进行了优化。
  • TabNet 在有或无预训练的情况下使用,并取得了可接受的性能。
  • 广义加性模型为最终架构增加了更多的多样性。
  • 这些模型使用不同的参数和特征进行训练,形成了一个庞大的第一层。

元模型

  • 线性模型效果最好(L1、L2、Elastic Net 回归)。
  • 经过实验,Elastic Net 似乎具有最好的 CV 分数,因此被选为最终提交的模型。
  • Elastic Net 模型的第一个输出再次输入到 Elastic Net 模型中,以获得最终提交结果。

最后,通过这次比赛我学到了很多。可能我学到的最有价值的东西是,仔细做好基础工作并尝试不同的方法非常重要。此外,尽早实施一个稳定且有效的管道,并在这个过程中相信它是有效的(CV 在最终提交中是可靠的)。

再次感谢大家。我真的很享受这次比赛。

同比赛其他方案