dmlc / dmlc/xgboost

Prevent xgboost from splitting only on missing values

Open
#6,878 4 comments 0 reactions 0 assignees View on GitHub
feature-request
Dominant language
C++
Stars
28.8k
Forks
8.9k
Avg merge
1d 12h
Merged PRs (30d)
54

Description

The xgboost documentation and papers that discuss how it works hints strongly that missing values are sent down the left or right branch _along with_ non-missing records. However, it is clear from the histogram splits that there are many cases where xgboost will send all of the missing data down one branch and the non-missing data down the other.

In our testing this has caused problems for monotonicity from an approximate feature contribution perspective. It is possible that a feature value with the maximum possible value is violating monotinicity because it is being grouped with all of the non-missing data.

Is there anyway to ensure that xgboost *never* sends only missing data down a branch?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.