From 40566cdbbafd5fa09e0945a5a155bc681988ed1b Mon Sep 17 00:00:00 2001 From: Johan Manders Date: Mon, 12 Oct 2015 16:31:23 +0200 Subject: [PATCH] update sklearn.py because evals_result in training.py changed Because I changed the training.py, the sklearn.py had to be changed also to be able to read all the data form evals_result. --- python-package/xgboost/sklearn.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/python-package/xgboost/sklearn.py b/python-package/xgboost/sklearn.py index a2761c5ab..b3d973928 100644 --- a/python-package/xgboost/sklearn.py +++ b/python-package/xgboost/sklearn.py @@ -187,10 +187,11 @@ class XGBModel(XGBModelBase): early_stopping_rounds=early_stopping_rounds, evals_result=eval_results, feval=feval, verbose_eval=verbose) + if eval_results: - eval_results = {k: np.array(v, dtype=float) - for k, v in eval_results.items()} - eval_results = {k: np.array(v) for k, v in eval_results.items()} + for val in eval_results.items(): + for k, v in val[1].items(): + eval_results[val[0]] = np.array(v, dtype=float) self.eval_results = eval_results if early_stopping_rounds is not None: @@ -303,8 +304,9 @@ class XGBClassifier(XGBModel, XGBClassifierBase): verbose_eval=verbose) if eval_results: - eval_results = {k: np.array(v, dtype=float) - for k, v in eval_results.items()} + for val in eval_results.items(): + for k, v in val[1].items(): + eval_results[val[0]] = np.array(v, dtype=float) self.eval_results = eval_results if early_stopping_rounds is not None: