Commit 30aa3cf2 authored by Guolin Ke's avatar Guolin Ke Committed by GitHub
Browse files

refine the finding of missing value.

parent de341926
...@@ -82,15 +82,9 @@ public: ...@@ -82,15 +82,9 @@ public:
double gain_shift = GetLeafSplitGain(sum_gradient, sum_hessian, double gain_shift = GetLeafSplitGain(sum_gradient, sum_hessian,
meta_->tree_config->lambda_l1, meta_->tree_config->lambda_l2); meta_->tree_config->lambda_l1, meta_->tree_config->lambda_l2);
double min_gain_shift = gain_shift + meta_->tree_config->min_gain_to_split; double min_gain_shift = gain_shift + meta_->tree_config->min_gain_to_split;
if (meta_->tree_config->use_missing) { if (meta_->tree_config->use_missing && meta_->num_bin > 2) {
FindBestThresholdSequence(sum_gradient, sum_hessian, num_data, min_gain_shift, output, 0); FindBestThresholdSequence(sum_gradient, sum_hessian, num_data, min_gain_shift, output, 0);
// Zero is not in leftmost or rightmost FindBestThresholdSequence(sum_gradient, sum_hessian, num_data, min_gain_shift, output, meta_->num_bin - 1);
if (static_cast<int>(meta_->default_bin) > 0 && static_cast<int>(meta_->default_bin) < meta_->num_bin - 1) {
FindBestThresholdSequence(sum_gradient, sum_hessian, num_data, min_gain_shift, output, meta_->default_bin);
}
if (meta_->num_bin > 2) {
FindBestThresholdSequence(sum_gradient, sum_hessian, num_data, min_gain_shift, output, meta_->num_bin - 1);
}
} else { } else {
FindBestThresholdSequence(sum_gradient, sum_hessian, num_data, min_gain_shift, output, meta_->default_bin); FindBestThresholdSequence(sum_gradient, sum_hessian, num_data, min_gain_shift, output, meta_->default_bin);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment