678. Playground Series - Season 5, Episode 11 | playground-series-s5e11
我最好的解决方案是 7 个模型的 Ridge 集成,包括 5 个 LGBM、1 个 TabM 和 1 个 RealMLP。我的另一个提交作品(最好的单个 LGBM 模型)也获得了第二名。该模型的简化版本可以在这个笔记本中找到。
除了初始列之外,我为所有基数(cardinality)> 7 的初始列添加了以下特征:
获得高交叉验证(CV)分数关键在于以不同方式对高基数列 annual_income 和 loan_amount 进行离散化/分箱,然后再进行目标编码。以下每种方式都有助于提高 CV:
round 和 // (整数除法) 运算符.astype(int) 丢弃小数部分此外,我还包含了所有数值列的数字特征以及某些数值列的数字组合特征。
最后,我添加了训练数据与原始数据之间的计数比率(每个值与原始数据相比是如何过采样或欠采样的)。
未能提高 CV 的操作包括交互特征以及将原始数据作为行添加。
LGBM 模型通过强正则化参数(低 max_depth、colsample 等)得到了很大改进。
learning_rate=0.01
max_depth=4,
subsample=0.5
colsample_bytree=0.2
lambda_l2=15.0
lambda_l1=10.0
| 模型 | 5 折 CV | 备注 |
|---|---|---|
| LGBM | 0.92813 | 最佳单模型 |
| LGBM | 0.9281 | 每折添加原始数据作为额外行 |
| LGBM | 0.9278 | 每折添加原始数据作为额外行,较少特征 |
| LGBM | 0.9277 | Logits 初始化自基于原始数据训练的 TabPFN,想法来自这里 |
| LGBM | 0.9276 | Logits 初始化自基于原始数据训练的 Autogluon (使用 preset='extreme' 选项),想法来自这里 |
| TabM | 0.9277 | - |
| RealMLP | 0.9271 | - |
恭喜 @mahoganybuttstrings 获得冠军。感谢所有在讨论和笔记本中做出贡献的 Kaggle 参与者。探索 Playground 竞赛既有趣又有教育意义。