返回列表

#3 : GAM & GBM

541. Playground Series - Season 3, Episode 10 | playground-series-s3e10

开始: 2023-03-07 结束: 2023-03-20 物理与天文 数据算法赛
#3 : GAM & GBM

#3 : GAM & GBM

作者: aldparis | 排名: 第3名 | 发布时间: 2023-03-21

大家好,

第3名的方案是 XGBoost、LightGBM 和广义加性模型 (GAM) 的融合,代码见 这里

  • 使用了 4 到 10 折的分层交叉验证。
  • 对部分特征进行了对数 转换。
  • 加入了一些交互特征。
  • 通过交互特征的前向选择以及预测值的排列来进行后向特征选择,以剔除无用特征并防止过拟合。
  • XGBoost 和 LightGBM 使用了弱学习器:仅有 5 或 6 个叶子节点。
  • 通过计算每折中 val_loglosstrn_logloss 的差值来控制过拟合,并手动调整 XGBoost 和 LightGBM 的正则化超参数(参考了 @ambrosm此处 的讨论)。
  • 因此没有使用 Optuna 或其他优化工具。
  • 没有对预测结果进行校准,因为通过交叉验证我发现这是多余的。
  • 没有使用原始数据。
  • 在最终提交时,模型多样性方面犯了一个小错误,这让我错失了第二名(请查看版本 v40 和 v39 之间的区别——v40 是我想做的,但我提交了 v39)。

通过计算 val_loglosstrn_logloss 之间的差值,我们可以看到 GAM 的过拟合程度比 GBM 要低。

我尝试了随机森林 和 ExtraTrees,但我的交叉验证分数只有 0.033。
我尝试拟合逻辑回归 但没有成功,我无法通过 PolynomialFeatures 添加交互项。感谢 @ambrosm解决方案,我会仔细阅读学习的。

同比赛其他方案