真实面经题目 · 原创解析
XGBoost 的特征重要性是如何得到的?
XGBoost 特征重要性通常来自树分裂统计,例如 split 次数、带来的增益和覆盖样本量。回答要说明这些指标的含义和偏差。
出现于:快手 · 算法
真实面经题目 · 原创解析
XGBoost 特征重要性通常来自树分裂统计,例如 split 次数、带来的增益和覆盖样本量。回答要说明这些指标的含义和偏差。
XGBoost 的特征重要性一般从训练好的树模型中统计。常见指标有 weight,表示特征被用于分裂的次数;gain,表示这些分裂带来的平均损失下降,通常更能反映效果贡献;cover,表示分裂覆盖的样本权重。也可以用 permutation importance 或 SHAP 做模型无关或更细粒度解释。需要注意,高基数特征、强相关特征和采样设置会影响重要性,不能把它当成因果贡献。
weight 或 frequency 统计特征在所有树中被选作 split 的次数,简单直观,但频繁使用不一定贡献最大。
gain 衡量使用该特征分裂带来的目标函数下降,通常比次数更接近模型收益,但仍会受相关特征分摊影响。
cover、permutation importance 和 SHAP 可以从覆盖样本、打乱后性能下降和样本级贡献角度补充判断。
内置重要性只能说明模型训练时如何使用特征。要判断特征是否值得保留,还应做特征组消融、离线切片评估和线上实验,避免被相关特征或高基数特征误导。
通常 gain 更能反映对目标函数的贡献,weight 更像使用频率,但最好结合业务和验证实验判断。
模型可能任选其中一个特征分裂,导致重要性在相关特征之间不稳定分配。
可以做特征消融、permutation importance、线上 A/B 或分切片验证,而不是只看内置重要性。