机器学习进阶文档深度页
Bagging 与 Boosting
Bagging 独立训练并平均以降低方差,Boosting 顺序纠错以降低偏差。
学习前需要掌握
BaggingBoosting内容待补充
背景与问题
混淆二者会导致错误的调参直觉,例如以为随机森林后树专门修正前树。
概念定义
两者都是集成,但训练依赖、组合方式、并行性和噪声敏感性不同。
直观理解
Bagging 是多人独立投票,Boosting 是接力式纠错。
核心原理
选择取决于基模型稳定性、训练资源、噪声与目标;都必须与单模型和业务基线比较。
数学表达
核心表达
选择取决于基模型稳定性、训练资源、噪声与目标;都必须与单模型和业务基线比较。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1识别主要偏差/方差
- 2选择并行或顺序策略
- 3固定验证协议
- 4调单模型复杂度
代码对应位置
示例 1Bagging 与 Boosting 实现:对应文档中的训练与预测逻辑。
计算与实现步骤
- 1
识别主要偏差/方差
- 2
选择并行或顺序策略
- 3
固定验证协议
- 4
调单模型复杂度
- 5
比较稳定性和成本
代码实现
示例 1
Bagging 与 Boosting 实现
Bagging 与 Boosting 实现
scikit-learn
example_01.py用途:对应文档中的训练与预测逻辑。
models={"forest":RandomForestClassifier(random_state=42),"boost":HistGradientBoostingClassifier(random_state=42)}
for name,model in models.items():
print(name,cross_val_score(model,X,y,cv=cv).mean())代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的训练与预测逻辑。
X- 完整特征矩阵,每行一个样本、每列一个特征。
y- 目标标签或连续目标值。
model- 组合预处理和估计器的模型对象。
mean- 训练特征逐列均值。
Step 1 · 1–3 行
只从训练数据逐列计算均值与标准差,对应标准化公式中的 μ 和 σ。
models={"forest":RandomForestClassifier(random_state=42),"boost":HistGradientBoostingClassifier(random_state=42)}
for name,model in models.items():
print(name,cross_val_score(model,X,y,cv=cv).mean())代码与数学原理
减去训练均值并除以训练标准差,对应代码中的 mean/std 或 StandardScaler。
预期输出或运行结果
输出两种集成在同一折上的平均分。
常见错误 · 3 条
- 不要在测试集上调用 fit 或 fit_transform;测试集只能复用训练参数。
- Boosting 天然总更好
- 只看平均分
实际应用
- 集成选型
常见错误
Boosting 天然总更好
只看平均分
文档来源
05|决策树与集成学习原始文档
学习资料/learning_tech/05_tree_and_ensemble.md- §10 Bagging 与 Boosting 的区别
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。