我的 xgboost 模型使用 xgboost 包版本 0.6 在 python 中训练回归任务,但使用了奇怪的分割值。一些用作分割标准的值根本不存在于训练数据集中。
示例:
- 有一个变量“文本”,其值位于[Missing,1,2]
火车集中
- 然而,训练模型中节点的派生分割标准是“文本 < 4”
当数据集中找不到这样的值 (-> 4) 时,这种拆分的可能原因是什么?拆分不会增加信息增益,因为所有样本都遵循该决策节点之后的一个分支。
最佳答案
一个可能的解释:所有非缺失值都进入“text < 4”分支,所有缺失值进入另一个“text > 4”分支。你能验证一下吗?
关于python - XGBoost节点 split 值不合理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47692738/