🎙️ 语音朗读
当前: 晓晓 (温柔女声)
概述
集成学习通过组合多个模型来提升性能,是 Kaggle 竞赛的必杀技。本文系统介绍从 Bagging 到 Boosting 的各种集成方法。
集成学习方法
flowchart TB
subgraph 集成学习
ENS[集成学习]
ENS --> PARALLEL[并行方法]
ENS --> SEQUENTIAL[串行方法]
PARALLEL --> BAGGING[Bagging]
PARALLEL --> RANDOM[随机森林]
SEQUENTIAL --> BOOSTING[Boosting]
BOOSTING --> ADA[AdaBoost]
BOOSTING --> GB[Gradient Boosting]
BOOSTING --> XGB[XGBoost]
BOOSTING --> LGBM[LightGBM]
end
Bagging vs Boosting
核心区别
| 特性 | Bagging | Boosting |
|---|---|---|
| 训练方式 | 并行 | 串行 |
| 关注点 | 降低方差 | 降低偏差 |
| 样本权重 | 独立同分布 | 动态调整 |
| 预测方式 | 平均/投票 | 加权累计 |
| 典型算法 | 随机森林 | XGBoost |
代码实现
1 | from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier |
总结
mindmap
root((集成学习))
Bagging
随机森林
Extra Trees
降低方差
Boosting
AdaBoost
Gradient Boosting
XGBoost
LightGBM
CatBoost
降低偏差
堆叠
Stacking
Blending
集成学习是提升模型性能的有效手段,选择合适的方法需要根据具体问题和数据特点来决定。