MCPcopy Create free account
hub / github.com/dmlc/xgboost / TestBoostFromAvgParam

Method TestBoostFromAvgParam

tests/cpp/test_learner.cc:502–539  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

500 }
501
502 void TestBoostFromAvgParam() {
503 std::unique_ptr<Learner> learner{Learner::Create({Xy_})};
504 learner->SetParam("objective", "reg:absoluteerror");
505 learner->SetParam("base_score", "1.3");
506 Json config(Object{});
507 learner->Configure();
508 learner->SaveConfig(&config);
509
510 auto base_score = GetBaseScore(config);
511 ASSERT_EQ(base_score.size(), 1);
512 // no change
513 ASSERT_FLOAT_EQ(base_score[0], 1.3);
514
515 HostDeviceVector<float> predt;
516 learner->Predict(Xy_, false, &predt, 0, 0);
517 auto h_predt = predt.ConstHostSpan();
518 for (auto v : h_predt) {
519 ASSERT_FLOAT_EQ(v, 1.3);
520 }
521 learner->UpdateOneIter(0, Xy_);
522 learner->SaveConfig(&config);
523 base_score = GetBaseScore(config);
524 ASSERT_EQ(base_score.size(), 1);
525 // no change
526 ASSERT_FLOAT_EQ(base_score[0], 1.3);
527
528 auto from_avg = std::stoi(
529 get<String const>(config["learner"]["learner_model_param"]["boost_from_average"]));
530 // from_avg is disabled when base score is set
531 ASSERT_EQ(from_avg, 0);
532 // in the future when we can deprecate the binary model, user can set the parameter directly.
533 learner->SetParam("boost_from_average", "1");
534 learner->Configure();
535 learner->SaveConfig(&config);
536 from_avg = std::stoi(
537 get<String const>(config["learner"]["learner_model_param"]["boost_from_average"]));
538 ASSERT_EQ(from_avg, 1);
539 }
540
541 void TestInitAfterLoad() {
542 std::unique_ptr<Learner> learner{Learner::Create({Xy_})};

Callers 1

TEST_FFunction · 0.80

Calls 8

GetBaseScoreFunction · 0.85
SetParamMethod · 0.80
PredictMethod · 0.80
ConstHostSpanMethod · 0.80
UpdateOneIterMethod · 0.80
ConfigureMethod · 0.45
SaveConfigMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected