From af166bf0a0aed5036a59191e567bf66b34742286 Mon Sep 17 00:00:00 2001 From: Far0n Date: Mon, 23 Nov 2015 11:11:21 +0100 Subject: [PATCH] small verbose_eval fixes - ensures same behavior for verbose_eval=0 and verbose_eval=False - fix printing last eval message if early_stopping_rounds is set, but xgb runs to the end --- python-package/xgboost/training.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python-package/xgboost/training.py b/python-package/xgboost/training.py index 64dbb2ff2..feca66c42 100644 --- a/python-package/xgboost/training.py +++ b/python-package/xgboost/training.py @@ -91,7 +91,7 @@ def train(params, dtrain, num_boost_round=10, evals=(), obj=None, feval=None, else: if isinstance(verbose_eval, int): verbose_eval_every_line = verbose_eval - verbose_eval = True + verbose_eval = True if verbose_eval_every_line > 0 else False if xgb_model is not None: if not isinstance(xgb_model, STRING_TYPES): @@ -206,7 +206,7 @@ def train(params, dtrain, num_boost_round=10, evals=(), obj=None, feval=None, if verbose_eval: if verbose_eval_every_line: - if i % verbose_eval_every_line == 0: + if i % verbose_eval_every_line == 0 or i == num_boost_round - 1: sys.stderr.write(msg + '\n') else: sys.stderr.write(msg + '\n')