返回列表

2nd Place Solution

484. Tabular Playground Series - Apr 2022 | tabular-playground-series-apr-2022

开始: 2022-04-01 结束: 2022-04-30 基因组学与生物信息 数据算法赛
第二名解决方案

第二名解决方案

作者:DataRegressor
比赛排名:第 2 名

首先,我要感谢 Kaggle 组织了这样有趣且无数据泄露的比赛。

我的最终解决方案是 40 个模型的堆叠,每个模型在本地交叉验证(CV)和排行榜(LB)上的得分都超过了 0.96。我认为我的堆叠方案没有什么特别值得分享的地方。然而,我的一个单模型取得了 0.987(LB)、0.989(Private LB)和 0.963(CV)的成绩,我认为这可能是本次比赛中最好的单模型,仅凭它就能在本次比赛中获得第 6 名。

特征工程

与公开的方案相比,我没有使用新特征,除了通过工程化的 count 特征对 sensor_02 读数进行分组外,但我认为这对最终得分没有起到主要作用。

交叉验证

我使用了 StratifiedKFold 方法,在将数据帧的 Numpy 形式重塑为 (-1, 60, train.shape[-1]) 后,对标签进行分层。在这种情况下,你不需要关心分组,因为每个索引现在本身就是一个完整的组。

最佳单模型

我的最佳单模型基于 4x2D-CNN + GRUs + GMP。该模型可以在这里找到,提交文件可以在这里找到。

在训练过程中,我注意到每个折叠输出在 AUC 方面存在差异。因此,每个折叠运行了 3 次,这三次迭代中最好的一次用于最终的最佳单模型。剩下的 2 次迭代随后也被用作元学习器的元特征。

堆叠

我保存了我所有好模型(0.96+)的元特征,并在它们之上构建了一个最终的 LGBM 模型。这一步使得分数提升了 0.00130。我的最终 CV AUC 分数是 0.99。最终堆叠代码可以在这里找到。

效果不佳的尝试

  1. 去噪自编码器(DAE):我使用 Conv2D 和 MaxPooling2D 层将每个序列视为图像进行压缩,并使用 GlobalAveragePooling2D 在潜在空间中展平每个序列。Conv2DTranspose + Conv2D 用于从潜在空间的表示中重建原始图像(序列)。DAE 似乎像 @davidedward12 的解决方案中那样与 LSTM 配合使用效果较好。
  2. Transformer Encoder:它的训练很棘手,结果也不稳定。
同比赛其他方案