Cmake improvements (#2487)

* Cmake improvements
* Add google test to cmake
This commit is contained in:
Rory Mitchell
2017-07-06 18:05:11 +12:00
committed by GitHub
parent 8ceeb32bad
commit e939192978
13 changed files with 291 additions and 257 deletions

View File

@@ -8,9 +8,9 @@ TEST(Metric, RMSE) {
ASSERT_STREQ(metric->Name(), "rmse");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.6403, 0.001);
0.6403f, 0.001f);
}
TEST(Metric, MAE) {
@@ -18,9 +18,9 @@ TEST(Metric, MAE) {
ASSERT_STREQ(metric->Name(), "mae");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.5, 0.001);
0.5f, 0.001f);
}
TEST(Metric, LogLoss) {
@@ -28,9 +28,9 @@ TEST(Metric, LogLoss) {
ASSERT_STREQ(metric->Name(), "logloss");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
1.2039, 0.001);
1.2039f, 0.001f);
}
TEST(Metric, Error) {
@@ -38,13 +38,13 @@ TEST(Metric, Error) {
ASSERT_STREQ(metric->Name(), "error");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.5, 0.001);
0.5f, 0.001f);
EXPECT_ANY_THROW(xgboost::Metric::Create("error@abc"));
delete metric;
metric = xgboost::Metric::Create("error@0.5");
metric = xgboost::Metric::Create("error@0.5f");
EXPECT_STREQ(metric->Name(), "error");
delete metric;
@@ -53,17 +53,17 @@ TEST(Metric, Error) {
EXPECT_STREQ(metric->Name(), "error@0.1");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.2, 0.1, 0.2},
{0.1f, 0.2f, 0.1f, 0.2f},
{ 0, 0, 1, 1}),
0.5, 0.001);
0.5f, 0.001f);
}
TEST(Metric, PoissionNegLogLik) {
xgboost::Metric * metric = xgboost::Metric::Create("poisson-nloglik");
ASSERT_STREQ(metric->Name(), "poisson-nloglik");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.5, 1e-10);
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.5f, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.2, 0.1, 0.2},
{0.1f, 0.2f, 0.1f, 0.2f},
{ 0, 0, 1, 1}),
1.1280, 0.001);
1.1280f, 0.001f);
}

View File

@@ -7,5 +7,5 @@ TEST(Metric, UnknownMetric) {
EXPECT_ANY_THROW(xgboost::Metric::Create("unknown_name"));
EXPECT_NO_THROW(xgboost::Metric::Create("rmse"));
EXPECT_ANY_THROW(xgboost::Metric::Create("unknown_name@1"));
EXPECT_NO_THROW(xgboost::Metric::Create("error@0.5"));
EXPECT_NO_THROW(xgboost::Metric::Create("error@0.5f"));
}

View File

@@ -5,18 +5,18 @@
TEST(Metric, AMS) {
EXPECT_ANY_THROW(xgboost::Metric::Create("ams"));
xgboost::Metric * metric = xgboost::Metric::Create("ams@0.5");
xgboost::Metric * metric = xgboost::Metric::Create("ams@0.5f");
ASSERT_STREQ(metric->Name(), "ams@0.5");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.311, 0.001);
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.311f, 0.001f);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.29710, 0.001);
0.29710f, 0.001f);
delete metric;
metric = xgboost::Metric::Create("ams@0");
ASSERT_STREQ(metric->Name(), "ams@0");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.311, 0.001);
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.311f, 0.001f);
}
TEST(Metric, AUC) {
@@ -24,9 +24,9 @@ TEST(Metric, AUC) {
ASSERT_STREQ(metric->Name(), "auc");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.5, 0.001);
0.5f, 0.001f);
EXPECT_ANY_THROW(GetMetricEval(metric, {0, 1}, {}));
EXPECT_ANY_THROW(GetMetricEval(metric, {0, 0}, {0, 0}));
}
@@ -39,18 +39,18 @@ TEST(Metric, Precision) {
ASSERT_STREQ(metric->Name(), "pre");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0, 1e-7);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0, 1e-7);
delete metric;
metric = xgboost::Metric::Create("pre@2");
ASSERT_STREQ(metric->Name(), "pre@2");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.5, 1e-7);
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 0.5f, 1e-7);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.5, 0.001);
0.5f, 0.001f);
EXPECT_ANY_THROW(GetMetricEval(metric, {0, 1}, {}));
}
@@ -62,18 +62,18 @@ TEST(Metric, NDCG) {
EXPECT_NEAR(GetMetricEval(metric, {}, {}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.6509, 0.001);
0.6509f, 0.001f);
delete metric;
metric = xgboost::Metric::Create("ndcg@2");
ASSERT_STREQ(metric->Name(), "ndcg@2");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.3868, 0.001);
0.3868f, 0.001f);
delete metric;
metric = xgboost::Metric::Create("ndcg@-");
@@ -81,18 +81,18 @@ TEST(Metric, NDCG) {
EXPECT_NEAR(GetMetricEval(metric, {}, {}), 0, 1e-10);
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.6509, 0.001);
0.6509f, 0.001f);
delete metric;
metric = xgboost::Metric::Create("ndcg@2-");
ASSERT_STREQ(metric->Name(), "ndcg@2-");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.3868, 0.001);
0.3868f, 0.001f);
}
TEST(Metric, MAP) {
@@ -100,9 +100,9 @@ TEST(Metric, MAP) {
ASSERT_STREQ(metric->Name(), "map");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.5, 0.001);
0.5f, 0.001f);
EXPECT_NEAR(GetMetricEval(metric, {}, {}), 1, 1e-10);
delete metric;
@@ -115,7 +115,7 @@ TEST(Metric, MAP) {
ASSERT_STREQ(metric->Name(), "map@2");
EXPECT_NEAR(GetMetricEval(metric, {0, 1}, {0, 1}), 1, 1e-10);
EXPECT_NEAR(GetMetricEval(metric,
{0.1, 0.9, 0.1, 0.9},
{0.1f, 0.9f, 0.1f, 0.9f},
{ 0, 0, 1, 1}),
0.25, 0.001);
0.25f, 0.001f);
}