决策树与随机森林

决策树像一串「如果……就……」的判断规则,直观可解释。单棵树容易过拟合,随机森林通过多棵树的集成平均,既保住可解释性又显著提升稳定与精度,是表格数据的常胜模型。

树怎么分裂

树从根节点出发,对每个特征找最佳切分点,使子节点的纯度最高。常用准则有信息增益(基于熵)与基尼不纯度。递归分裂直到达到最大深度或节点样本过少,再于叶节点给出预测。

from sklearn.tree import DecisionTreeClassifier

tree = DecisionTreeClassifier(max_depth=4, random_state=0)
tree.fit(X_train, y_train)
print(tree.feature_importances_)

随机森林的集成

随机森林在样本(自助采样)与特征两个层面引入随机性,训练出多棵差异化的树,预测时分类取多数投票、回归取平均。这种 bagging 降低了方差,使结果比单棵树稳健得多。

from sklearn.ensemble import RandomForestClassifier

rf = RandomForestClassifier(n_estimators=200, random_state=0)
rf.fit(X_train, y_train)

注意点

单棵决策树要控制 max_depth 防止过拟合;随机森林的树越多越稳,但计算开销随之上升。特征重要性可帮助筛选变量,但高相关特征会稀释重要性估计。

小结

决策树用纯度准则递归分裂,可解释却易过拟合;随机森林以双重随机集成压制方差,成为表格数据的主力。调 max_depth 与 n_estimators 是常用旋钮。

参考与延伸阅读

本文累计阅读