From 190e58a8c6d919da4e5b14ac99b87bc84338df6e Mon Sep 17 00:00:00 2001 From: "Yuan (Terry) Tang" Date: Wed, 4 Nov 2015 22:25:10 -0600 Subject: [PATCH] Added test for maximize parameter --- tests/python/test_models.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/python/test_models.py b/tests/python/test_models.py index 295765d61..883a605be 100644 --- a/tests/python/test_models.py +++ b/tests/python/test_models.py @@ -62,6 +62,15 @@ class TestModels(unittest.TestCase): xgb.cv(param, dtrain, num_round, nfold = 5, seed = 0, obj = logregobj, feval=evalerror) + # test maximize parameter + def neg_evalerror(preds, dtrain): + labels = dtrain.get_label() + return 'error', float(sum(labels == (preds > 0.0))) / len(labels) + bst2 = xgb.train(param, dtrain, num_round, watchlist, logregobj, neg_evalerror, maximize=True) + preds2 = bst2.predict(dtest) + err2 = sum(1 for i in range(len(preds2)) if int(preds2[i]>0.5)!=labels[i]) / float(len(preds2)) + assert err == err2 + def test_fpreproc(self): param = {'max_depth':2, 'eta':1, 'silent':1, 'objective':'binary:logistic'} num_round = 2