关于Random Forest Regressor决策树节点value属性含义的问询
关于回归树节点
value属性的解释 对于sklearn中的Random Forest Regressor(或单个回归决策树),节点的value属性含义如下:
- 单输出回归任务:该属性是一个1维数组,代表当前节点包含的所有训练样本的目标变量均值。根节点的
value就是整个训练集的目标变量均值。 - 多输出回归任务:该属性是一个2维数组,每一行对应一个输出维度,值为对应输出维度下当前节点样本的目标均值。
与分类树的区别
分类树中value代表节点内各类别样本的数量(或占比,取决于参数),但回归树完全不同,核心是目标变量的统计均值——这是由回归任务的损失函数(均方误差MSE)决定的,回归树分裂的目标是最小化子节点的MSE,而节点的value就是该节点下最优的预测值(均值是MSE损失下的最优估计)。
和feature_importances_的关联
你研究的feature_importances_计算逻辑,正是基于节点分裂前后的MSE减少量:
- 计算分裂前父节点的MSE:基于父节点的
value和该节点所有样本的目标值 - 计算分裂后两个子节点的MSE之和:基于各自子节点的
value和对应样本的目标值 - 两者的差值就是该特征分裂带来的增益,所有树的增益累加后做归一化,最终得到特征重要性。
高基数特征容易获得更高增益的原因,是它们能更细碎地划分样本,让子节点的MSE快速降低,但这种划分往往不具备泛化性,这也是你需要优化的核心点。
内容的提问来源于stack exchange,提问作者Dwight Dinkins
相关产品推荐
相关产品推荐

