🎯 学习目标

  • 理解集成学习的思想
  • 掌握随机森林的原理
  • 学会使用随机森林建模
  • 了解特征重要性评估

🌲 随机森林原理

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)

📝 本节小结

  • • 随机森林是多棵决策树的集成
  • • 通过Bootstrap和随机特征增加多样性
  • • 比单棵决策树更稳健
  • • 是表格数据的强基准模型