From 6e2bdcbbbc55d8f467e1014cbfc5c31faa501221 Mon Sep 17 00:00:00 2001 From: Johan Manders Date: Wed, 14 Oct 2015 13:22:39 +0200 Subject: [PATCH] Demo for accessing eval metrics in xgboost --- demo/guide-python/evals_result.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 demo/guide-python/evals_result.py diff --git a/demo/guide-python/evals_result.py b/demo/guide-python/evals_result.py new file mode 100644 index 000000000..e07ba8572 --- /dev/null +++ b/demo/guide-python/evals_result.py @@ -0,0 +1,29 @@ +import xgboost as xgb +## +# This script demonstrate how to access the eval metrics in xgboost +## +dtrain = xgb.DMatrix('../data/agaricus.txt.train', silent=True) +dtest = xgb.DMatrix('../data/agaricus.txt.test', silent=True) + +param = [('max_depth', 2), ('objective', 'binary:logistic'), ('eval_metric', 'logloss'), ('eval_metric', 'error')] + +num_round = 2 +watchlist = [(dtest,'eval'), (dtrain,'train')] + +evals_result = {} +bst = xgb.train(param, dtrain, num_round, watchlist, evals_result=evals_result) + +print('Access logloss metric directly from evals_result:') +print(evals_result['eval']['logloss']) + +print('') +print('Access metrics through a loop:') +for e_name, e_mtrs in evals_result.items(): + print('- {}'.format(e_name)) + for e_mtr_name, e_mtr_vals in e_mtrs.items(): + print(' - {}'.format(e_mtr_name)) + print(' - {}'.format(e_mtr_vals)) + +print('') +print('Access complete dictionary:') +print(evals_result)