File: test_quantile_utils.cc

package info (click to toggle)
xgboost 3.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 13,796 kB
  • sloc: cpp: 67,502; python: 35,503; java: 4,676; ansic: 1,426; sh: 1,320; xml: 1,197; makefile: 204; javascript: 19
file content (30 lines) | stat: -rw-r--r-- 865 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/**
 * Copyright 2023 by XGBoost contributors
 */
#include <gtest/gtest.h>

#include "../../../src/common/quantile_loss_utils.h"
#include "xgboost/base.h"  // Args

namespace xgboost {
namespace common {
TEST(QuantileLossParam, Basic) {
  QuantileLossParam param;
  auto& ref = param.quantile_alpha.Get();

  param.UpdateAllowUnknown(Args{{"quantile_alpha", "0.3"}});
  ASSERT_EQ(ref.size(), 1);
  ASSERT_NEAR(ref[0], 0.3, kRtEps);

  param.UpdateAllowUnknown(Args{{"quantile_alpha", "[0.3, 0.6]"}});
  ASSERT_EQ(param.quantile_alpha.Get().size(), 2);
  ASSERT_NEAR(ref[0], 0.3, kRtEps);
  ASSERT_NEAR(ref[1], 0.6, kRtEps);

  param.UpdateAllowUnknown(Args{{"quantile_alpha", "(0.6, 0.3)"}});
  ASSERT_EQ(param.quantile_alpha.Get().size(), 2);
  ASSERT_NEAR(ref[0], 0.6, kRtEps);
  ASSERT_NEAR(ref[1], 0.3, kRtEps);
}
}  // namespace common
}  // namespace xgboost