- • 随机森林是多棵决策树的集成
- • 通过Bootstrap和随机特征增加多样性
- • 比单棵决策树更稳健
- • 是表格数据的强基准模型
7.4 随机森林
集成学习的经典方法
🎯 学习目标
- 理解集成学习的思想
- 掌握随机森林的原理
- 学会使用随机森林建模
- 了解特征重要性评估
🌲 随机森林原理
Bagging + 决策树
随机森林 = 多棵决策树的投票/平均
核心思想
- Bootstrap采样构建多棵树
- 每次分裂随机选择特征子集
- 聚合所有树的预测结果
优势
- 减少过拟合风险
- 并行训练速度快
- 能评估特征重要性
💻 sklearn实现
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
# 创建随机森林
rf = RandomForestClassifier(
n_estimators=100, # 树的数量
max_depth=10, # 最大深度
min_samples_split=5,
max_features='sqrt', # 每次分裂考虑的特征数
n_jobs=-1, # 并行计算
random_state=42
)
# 训练
rf.fit(X_train, y_train)
# 预测
y_pred = rf.predict(X_test)
# 交叉验证
scores = cross_val_score(rf, X, y, cv=5)
print(f"交叉验证分数: {scores.mean():.3f}")
# 特征重要性
importance = pd.DataFrame({
'feature': feature_names,
'importance': rf.feature_importances_
}).sort_values('importance', ascending=False)
📝 本节小结
✅