返回列表

1st place solution

629. Playground Series - Season 4, Episode 11 | playground-series-s4e11

开始: 2024-11-01 结束: 2024-11-30 健康管理与公共卫生 数据算法赛
第一名解决方案 - Mahdi Ravaghi

第一名解决方案

作者: Mahdi Ravaghi
发布时间: 2024-12-01
竞赛排名: 第 1 名

嗯,这是一个美好且完全出乎意料的惊喜!恭喜所有在这场变动中幸存下来的朋友,并感谢 @optimistix@tilii7 上个月的支持和鼓励,这让我保持动力赢得了本月的比赛。

我遵守了我的承诺@optimistix。有趣的是,我的获胜解决方案来自于我在比赛第二周进行的一个早期实验,老实说,我当时认为它没有获胜的机会。在整个月里,我训练了许多不同的模型(总共 69 个),采用了各种数据管道和配置,并尝试了许多不同的方法来集成它们。然而,事实证明,更少的模型和更简单的集成方法这次效果更好。我最终使用了 24 个模型(虽然仍然很多!)。

我怀疑这个解决方案能否奏效的原因是交叉验证(CV)分数比我预期的要高得多(0.94173),而公共 leaderboard(LB)分数比我许多其他提交要低(0.94284)。我另一个选定的提交花费了我更多时间,其 CV 分数为 0.94150,公共 LB 分数为 0.94285。尽管如此,我在代码中找不到任何错误,所以我决定相信 CV 分数,并将此解决方案作为我的提交之一。

我这个月的方法与上个月相似。我没有做任何特征工程,也没有删除任何特征,尽管我有冲动想要移除 Name 列。在建模部分,我在四个不同的数据管道上训练了 XGBoost 和三种变体的 LightGBM,其中两个管道包含了原始数据集。我还使用了来自我的公开 Notebook 的 OOF 文件。此外,我还训练了两个 AutoGluon 模型,一个包含原始数据集,一个不包含。这两个模型具有最高的 CV 分数,可能是我集成中最重要的两个模型。每个模型的分数以及我的 AutoGluon 集成分数可以在下图中看到。

在训练完所有模型并收集它们的 OOF 文件后,我让 AutoGluon 处理集成,确保自己定义 CV 策略以避免泄露。上个月效果很好,所以我决定再试一次,它没有让我失望!我还尝试了使用 hill climbing、Ridge、Logistic Regression 以及 Ridge 和 Logistic Regression 的组合来集成 OOF 文件,但这些方法的 CV 分数甚至远不及我用 AutoGluon achieved 的成绩。

模型比较图

同比赛其他方案