python - XGBoost节点 split 值不合理

标签 python machine-learning deep-learning xgboost

我的 xgboost 模型使用 xgboost 包版本 0.6 在 python 中训练回归任务,但使用了奇怪的分割值。一些用作分割标准的值根本不存在于训练数据集中。
示例:
- 有一个变量“文本”,其值位于[Missing,1,2]
火车集中 - 然而,训练模型中节点的派生分割标准是“文本 < 4

当数据集中找不到这样的值 (-> 4) 时,这种拆分的可能原因是什么?拆分不会增加信息增益,因为所有样本都遵循该决策节点之后的一个分支。

最佳答案

一个可能的解释:所有非缺失值都进入“text < 4”分支,所有缺失值进入另一个“text > 4”分支。你能验证一下吗?

关于python - XGBoost节点 split 值不合理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47692738/

相关文章:

python - 如何将字符串分割为多个字符并将分割字符保留在返回值中?

python - 递归转储一个对象

ubuntu - weka 令人困惑的 StringToWordVector 过滤器输出

python - 使用自定义 Keras 数据生成器和损失函数时地面实况标签的形状(无、无)

python - 打开文件进行写入

python - Sympy 与 Cython 在尝试查找根时生成奇异矩阵

python - 如何为 Sagemaker 编写 Tensorflow KMeans Estimator 脚本

c++ - 我的多项式回归梯度下降有什么问题(C++,GNUPLOT)

python - 类型为 torch.FloatTensor 的预期对象,但发现参数类型为 torch.cuda.FloatTensor #2 'weight'

tensorflow - 让 keras LSTM 层接受两个输入?