返回列表

5th Place Solution - An ensemble of 53 OOFs

657. Playground Series - Season 5, Episode 6 | playground-series-s5e6

开始: 2025-06-01 结束: 2025-06-30 作物智能识别 数据算法赛
第五名解决方案 - 53 个 OOF 的集成
作者: Optimistix
发布日期: 2025 年 7 月 1 日
竞赛排名: 第 5 名

第五名解决方案 - 53 个 OOF 的集成

太长不看 (TLDR):前两周基本没参与,接下来 10-12 天正常参与,最后几天有很多计划但因其他事情没时间完成。

我有三个方案在私有榜单 (Private LB) 上得分 > 0.385,其中交叉验证 (CV) 得分最高的为 0.38509,本可获得第 4 名。但我没选它,最终提交的是公共榜单 (Public LB) 最好的方案 (0.38337),其私有得分为 0.38502,让我获得了第五名。过去几天,我饶有兴致地看着排名从第 2 名跌到第 102 名左右,因为“混合大师们”系统地过拟合公共榜单,而“浮动跟随者”形成了几十个的稳固集团,将我们其他人人为地推后几天——所以,站在排名波动的正确一边某种程度上令人满意。

集成多样性的驱动因素

  1. 模型类型:虽然我的大部分模型是 XGB 或 LGBM,但集成中也包括 CatBoost、HGB、神经网络、随机森林和逻辑回归。我没来得及添加其他模型如 SVM。
  2. 超参数调整:很多人使用 LGBM 的 GOSS 和 DART 变体,但也可以调整各种超参数,例如深度、估计器数量、最大叶子节点、评分函数、评估指标等。
  3. 原始数据增强:我使用了不同数量的原始数据集副本,从 1 到 6 份。我避免了 7 份及以上,因为超过这一点后,你会偏向原始数据而非竞赛数据(例如 8 份副本 literally 比训练数据还多)。
  4. 数值数据作为类别数据:将所有数据视为类别数据,以及将数值特征同时视为数值和类别数据有帮助,无论是否分箱。
  5. 变化折叠数量:变化 k-fold 交叉验证的折叠数量也能增加多样性。

我开始得太晚的事情

  1. 将数值数据视为类别数据并使用 XGB 和 LGBM 以外的模型(特别是神经网络)都提高了 CV 和通常的 LB 得分——我应该添加更多此类模型。
  2. 我也应该更多变化超参数,特别是 XGB,并添加更多 CatBoost 模型。

我还没来得及做的事情

列表很长,但其中一项我早期考虑过且应该优先处理的是复用 @cdeotte 二月份的获胜方案,因为原始数据集几乎没有信号,就像那个月一样。

最后,我想感谢那些分享代码和见解的人,包括但不限于

@ravaghi, @suikeitin, @masayakawamata, @hahahaj, @omidbaghchehsaraei, @pirhosseinlou, @ayushchandramaurya, @patrykszcz, @gauravduttakiit

并祝贺 @masayakawamata, @mahog, @hahahaj, @paperxd, 我们的 resident Topper-in-chief @cdeotte, 以及所有强力收尾的人。Kaggle 愉快!

同比赛其他方案