ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

算法-随机森林

2026/8/14 23:35:48 拓冰建站 浏览量
算法-随机森林 随机森林一、算法定位随机森林RF是基于决策树的 Bagging 集成学习算法解决分类 / 回归问题并行训练、抗过拟合、泛化能力强、无需数据预处理工业界最常用传统机器学习模型二、核心思想通过「样本随机 特征随机」构建大量差异化决策树多树投票/平均得到最终结果利用集成效果降低单棵树过拟合、提升泛化能力。三、两大随机性1. 样本随机Bagging 核心对原始数据集有放回 Bootstrap 抽样每棵树训练数据集都不一样约37% 样本不被采样→OOB 袋外数据作用降低单树过拟合可无验证集评估模型2. 特征随机RF 独有核心每个节点分裂时不使用全部特征分类默认随机取sqrt(总特征数)回归默认随机取1/3 总特征数每个节点独立重新随机抽特征允许父子节点重复使用同一特征不同阈值即可作用降低树与树之间的相关性保证每棵树“思考角度不同”集成效果更强四、单棵树生长规则每棵树使用不同抽样数据集训练节点分裂前随机生成候选特征子集在候选集中遍历所有特征所有分割阈值选取基尼/熵增益最大的一组最优特征阈值分裂停止分裂条件满足其一即停达到设定max_depth最大深度节点样本完全纯净样本数量不足以继续分裂五、预测机制分类多树少数服从多数投票回归多树预测结果取均值六、核心参数面试详解1. n_estimators 树的数量树越多泛化越好、方差越低、训练越慢到达一定数量后效果不再提升趋于收敛调参从小往大加直到验证分数平稳2. max_depth 树最大深度核心防过拟合深度越大 → 树越复杂、越容易过拟合深度越小 → 模型简单、易欠拟合面试标准答案限制单树复杂度防止单棵决策树 memorize 训练噪声3. max_features 每次分裂选取特征数控制树与树的差异度取值越大单树能力强、树相关性高、集成效果弱取值越小树差异极大、单树拟合能力弱、易欠拟合默认值是工业界最优折中4. random_state 随机种子计算机为伪随机由初始状态决定所有抽样、选特征逻辑0 / 42 无优劣仅为不同随机序列起点作用保证实验可复现、调参对比公平5. oob_score利用未被采样的 37% 袋外数据做无验证集评估OOB分数 ≈ 模型泛化能力无需切分训练/测试集适合小样本数据七、节点如何选出最优分裂点节点随机选出候选特征集对每个特征遍历所有相邻数值中点作为分割阈值计算每种分割的基尼下降增益选择全局增益最大的【特征阈值】作为本次分裂方案分类基尼系数/熵回归MSE均方误差八、高频面试疑难解答1. 子节点可以和父节点用同一个特征分裂吗可以完全允许重复特征不影响只要分割阈值不同就能继续细分样本算法无任何限制。2. 为什么每次节点要重新随机选特征保证每一次分裂视角不同让 100 棵树结构尽量不相似如果所有树优先用最强特征树结构趋同 →集成失效3. 随机森林为什么不容易过拟合单棵树被限制深度复杂度低每棵树训练数据不同每棵树分裂特征不同、结构差异大多树投票平均抵消噪声与过拟合4. 训练集准确率很高OOB不高说明什么轻微过拟合训练集单树拟合充分但是泛化能力一般九、随机森林优缺点优点无需特征归一化、标准化抗过拟合、泛化能力强可并行训练速度快能输出特征重要性自带OOB评估无需拆分数据集缺点对超高维稀疏数据效果不如线性模型对小样本、极简单数据容易欠拟合无法输出概率校准极强的结果不如XGBoost十、随机森林 VS 单决策树单树高方差、易过拟合、不稳定随机森林通过集成平均大幅降低方差随机森林泛化能力远优于单树十一、Bagging 核心总结随机森林 Bagging 随机特征子空间Bagging样本随机 → 降低过拟合随机特征特征随机 → 降低树相关性终极极简背诵版随机森林是多棵决策树的Bagging集成通过样本有放回抽样制造不同训练集、节点随机选特征制造树差异限制树深度防止单树过拟合多树投票输出结果泛化能力强、抗过拟合、可并行、自带OOB评估。