@@ -1317,7 +1317,9 @@ class LearnerImpl : public LearnerIO {
|
||||
if (metrics_.empty() && tparam_.disable_default_eval_metric <= 0) {
|
||||
metrics_.emplace_back(Metric::Create(obj_->DefaultEvalMetric(), &ctx_));
|
||||
auto config = obj_->DefaultMetricConfig();
|
||||
metrics_.back()->LoadConfig(config);
|
||||
if (!IsA<Null>(config)) {
|
||||
metrics_.back()->LoadConfig(config);
|
||||
}
|
||||
metrics_.back()->Configure({cfg_.begin(), cfg_.end()});
|
||||
}
|
||||
|
||||
|
||||
@@ -268,6 +268,13 @@ class PseudoHuberRegression : public FitIntercept {
|
||||
}
|
||||
FromJson(in["pseudo_huber_param"], ¶m_);
|
||||
}
|
||||
[[nodiscard]] Json DefaultMetricConfig() const override {
|
||||
CHECK(param_.GetInitialised());
|
||||
Json config{Object{}};
|
||||
config["name"] = String{this->DefaultEvalMetric()};
|
||||
config["pseudo_huber_param"] = ToJson(param_);
|
||||
return config;
|
||||
}
|
||||
};
|
||||
|
||||
XGBOOST_REGISTER_OBJECTIVE(PseudoHuberRegression, "reg:pseudohubererror")
|
||||
|
||||
Reference in New Issue
Block a user