From a3fe14d6c6df71cbe4f83dfa25becb491e01825b Mon Sep 17 00:00:00 2001 From: Randy Carnevale Date: Wed, 16 Dec 2015 16:33:01 -0500 Subject: [PATCH] modifying cv show_progress to allow print-every-n behavior --- python-package/xgboost/training.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python-package/xgboost/training.py b/python-package/xgboost/training.py index feca66c42..c881728f2 100644 --- a/python-package/xgboost/training.py +++ b/python-package/xgboost/training.py @@ -283,8 +283,7 @@ def mknfold(dall, nfold, param, seed, evals=(), fpreproc=None): ret.append(CVPack(dtrain, dtest, plst)) return ret - -def aggcv(rlist, show_stdv=True, show_progress=None, as_pandas=True): +def aggcv(rlist, show_stdv=True, show_progress=None, as_pandas=True, trial=None): # pylint: disable=invalid-name """ Aggregate cross-validation results. @@ -336,8 +335,9 @@ def aggcv(rlist, show_stdv=True, show_progress=None, as_pandas=True): if show_progress is None: show_progress = True - if show_progress: + if (isinstance(show_progress, int) and trial % show_progress == 0) or (isinstance(show_progress, bool) and show_progress): sys.stderr.write(msg + '\n') + sys.stderr.flush() return results @@ -418,7 +418,7 @@ def cv(params, dtrain, num_boost_round=10, nfold=3, metrics=(), fold.update(i, obj) res = aggcv([f.eval(i, feval) for f in cvfolds], show_stdv=show_stdv, show_progress=show_progress, - as_pandas=as_pandas) + as_pandas=as_pandas, trial=i) results.append(res) if early_stopping_rounds is not None: