Add quantile metric. (#8761)
This commit is contained in:
30
tests/cpp/common/test_quantile_utils.cc
Normal file
30
tests/cpp/common/test_quantile_utils.cc
Normal file
@@ -0,0 +1,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
|
||||
Reference in New Issue
Block a user