返回列表

#7: A diverse ensemble

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

开始: 2023-03-07 结束: 2023-03-20 物理与天文 数据算法赛
#7: A diverse ensemble

#7: 多样化的集成模型

作者: AmbrosM | 发布时间: 2023-03-21

首先,感谢并祝贺 @paddykb,他提出了一个非常棒的广义加性模型 (GAM) 并将其公开,让大家都能从中学习。

当我看到 @paddykb 的 Notebook 时,我清楚地意识到我想理解它,并将 GAM 包含在我的集成模型中。我尝试用 Python 重现这个 GAM,但成效一般——也许是 pygam 的实现不够好,或者仅仅是我经验不足。因此,我决定在集成中使用原始的 GAM。面临的挑战是,为了确定集成权重,我需要 OOF (Out-of-Fold) 预测结果。这迫使我学习了足够的 R 语言知识,以便修改 @paddykb 的代码,将 OOF 预测结果保存到 CSV 文件中。

接着,我应用了两周前在这篇文章中倡导的原则,优化了其他八个模型以获得最佳 CV 分数:

  • 一个由 PolynomialRegression(3)、逻辑回归和 CalibratedClassifierCV 组成的管道(这是唯一需要校准的模型)
  • 三个带有早停机制和软投票的 HistGradientBoostingClassifier
  • max_depth=3 的 CatBoost
  • 通过 min_samples_leaf=1000 进行正则化的 GradientBoostingClassifier
  • 具有极低学习率的 LightGBM
  • XGBoost
  • 一个由 PolynomialRegression(2)max_depth=2 以及高学习率的 XGBoost 组成的管道
  • DART

树模型是使用原始数据集训练的,而 GAM 和逻辑回归在不使用原始数据时表现更好。

相关性矩阵显示,这七个基于树的模型给出了相似的预测;只有 GAM 和逻辑回归偏离了主流:

Correlation

最后,我选择了能提供良好 CV 分数的集成权重。

Final comparison

同比赛其他方案