| 18 | namespace { |
| 19 | inline constexpr bst_target_t kClassesForTest = 3; |
| 20 | auto MakeModel(std::string tree_method, std::string device, std::string objective, |
| 21 | std::shared_ptr<DMatrix> dmat) { |
| 22 | std::unique_ptr<Learner> learner{Learner::Create({dmat})}; |
| 23 | learner->SetParam("tree_method", tree_method); |
| 24 | learner->SetParam("device", device); |
| 25 | learner->SetParam("objective", objective); |
| 26 | if (objective.find("quantile") != std::string::npos) { |
| 27 | learner->SetParam("quantile_alpha", "0.5"); |
| 28 | } |
| 29 | if (objective.find("expectile") != std::string::npos) { |
| 30 | learner->SetParam("expectile_alpha", "0.5"); |
| 31 | } |
| 32 | if (objective.find("multi") != std::string::npos) { |
| 33 | learner->SetParam("num_class", std::to_string(kClassesForTest)); |
| 34 | } |
| 35 | learner->UpdateOneIter(0, dmat); |
| 36 | Json config{Object{}}; |
| 37 | learner->SaveConfig(&config); |
| 38 | |
| 39 | Json model{Object{}}; |
| 40 | learner->SaveModel(&model); |
| 41 | return model; |
| 42 | } |
| 43 | |
| 44 | void VerifyObjective(std::size_t rows, std::size_t cols, |
| 45 | std::vector<float> const &expected_base_score, Json expected_model, |
no test coverage detected