机器学习进阶文档深度页
随机森林
在 Bagging 基础上让每个节点只看随机特征子集,降低树间相关性。
学习前需要掌握
背景与问题
强特征若总被首先选择,所有树会相似;随机特征迫使树产生不同视角。
概念定义
每棵树使用 bootstrap 样本,节点分裂时从 max_features 指定的随机子集中寻找最佳划分。
直观理解
不仅给每位评审不同样本,也限制他们看到的特征清单。
核心原理
n_estimators 增加主要提升平均稳定性;单树深度、min_samples_leaf、max_features 控制偏差方差。OOB 提供近似验证。
数学表达
核心表达
n_estimators 增加主要提升平均稳定性;单树深度、min_samples_leaf、max_features 控制偏差方差。OOB 提供近似验证。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1bootstrap 抽样
- 2节点随机选特征
- 3深树训练
- 4多数投票
代码对应位置
示例 1随机森林 实现:对应文档中的训练与预测逻辑。
计算与实现步骤
- 1
bootstrap 抽样
- 2
节点随机选特征
- 3
深树训练
- 4
多数投票
- 5
检查 OOB/CV
代码实现
示例 1
随机森林 实现
随机森林 实现
scikit-learn
example_01.py用途:对应文档中的训练与预测逻辑。
from sklearn.ensemble import RandomForestClassifier
model=RandomForestClassifier(n_estimators=300,min_samples_leaf=2,max_features="sqrt",oob_score=True,n_jobs=-1,random_state=42)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的训练与预测逻辑。
model- 组合预处理和估计器的模型对象。
Step 1 · 1–2 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.ensemble import RandomForestClassifier
model=RandomForestClassifier(n_estimators=300,min_samples_leaf=2,max_features="sqrt",oob_score=True,n_jobs=-1,random_state=42)预期输出或运行结果
训练后可查看 oob_score_ 和测试预测。
常见错误 · 3 条
- 重要性当因果
- 树越多越能解决偏差
- 忽略推理成本
实际应用
- 表格分类回归
- 稳定非线性基线
常见错误
重要性当因果
树越多越能解决偏差
忽略推理成本
文档来源
05|决策树与集成学习原始文档
学习资料/learning_tech/05_tree_and_ensemble.md- §7 随机森林
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。