diff --git a/src/learner.cc b/src/learner.cc index 44e56c732..a7391b018 100644 --- a/src/learner.cc +++ b/src/learner.cc @@ -256,9 +256,6 @@ class LearnerImpl : public Learner { attributes_ = std::map( attr.begin(), attr.end()); } - if (metrics_.size() == 0) { - metrics_.emplace_back(Metric::Create(obj_->DefaultEvalMetric())); - } this->base_score_ = mparam.base_score; gbm_->ResetPredBuffer(pred_buffer_size_); cfg_["num_class"] = common::ToString(mparam.num_class); @@ -307,6 +304,9 @@ class LearnerImpl : public Learner { std::ostringstream os; os << '[' << iter << ']' << std::setiosflags(std::ios::fixed); + if (metrics_.size() == 0) { + metrics_.emplace_back(Metric::Create(obj_->DefaultEvalMetric())); + } for (size_t i = 0; i < data_sets.size(); ++i) { this->PredictRaw(data_sets[i], &preds_); obj_->EvalTransform(&preds_); @@ -445,9 +445,6 @@ class LearnerImpl : public Learner { // reset the base score mparam.base_score = obj_->ProbToMargin(mparam.base_score); - if (metrics_.size() == 0) { - metrics_.emplace_back(Metric::Create(obj_->DefaultEvalMetric())); - } this->base_score_ = mparam.base_score; gbm_->ResetPredBuffer(pred_buffer_size_);