From f14524159366bbc44150a7493d6032d59418711c Mon Sep 17 00:00:00 2001 From: Jiaming Yuan Date: Tue, 26 May 2020 08:34:56 +0800 Subject: [PATCH] Let XGBoostError inherit ValueError. (#5696) --- python-package/xgboost/core.py | 2 +- python-package/xgboost/sklearn.py | 34 +++++++++++++------------------ 2 files changed, 15 insertions(+), 21 deletions(-) diff --git a/python-package/xgboost/core.py b/python-package/xgboost/core.py index b6760ef8d..d701309a9 100644 --- a/python-package/xgboost/core.py +++ b/python-package/xgboost/core.py @@ -26,7 +26,7 @@ from .libpath import find_lib_path c_bst_ulong = ctypes.c_uint64 -class XGBoostError(Exception): +class XGBoostError(ValueError): """Error thrown by xgboost trainer.""" diff --git a/python-package/xgboost/sklearn.py b/python-package/xgboost/sklearn.py index 189417929..49f4dfa45 100644 --- a/python-package/xgboost/sklearn.py +++ b/python-package/xgboost/sklearn.py @@ -537,16 +537,13 @@ class XGBModel(XGBModelBase): else: params.update({'eval_metric': eval_metric}) - try: - self._Booster = train(params, train_dmatrix, - self.get_num_boosting_rounds(), evals=evals, - early_stopping_rounds=early_stopping_rounds, - evals_result=evals_result, - obj=obj, feval=feval, - verbose_eval=verbose, xgb_model=xgb_model, - callbacks=callbacks) - except XGBoostError as e: - raise ValueError(e) + self._Booster = train(params, train_dmatrix, + self.get_num_boosting_rounds(), evals=evals, + early_stopping_rounds=early_stopping_rounds, + evals_result=evals_result, + obj=obj, feval=feval, + verbose_eval=verbose, xgb_model=xgb_model, + callbacks=callbacks) if evals_result: for val in evals_result.items(): @@ -1230,16 +1227,13 @@ class XGBRanker(XGBModel): 'Custom evaluation metric is not yet supported for XGBRanker.') params.update({'eval_metric': eval_metric}) - try: - self._Booster = train(params, train_dmatrix, - self.n_estimators, - early_stopping_rounds=early_stopping_rounds, - evals=evals, - evals_result=evals_result, feval=feval, - verbose_eval=verbose, xgb_model=xgb_model, - callbacks=callbacks) - except XGBoostError as e: - raise ValueError(e) + self._Booster = train(params, train_dmatrix, + self.n_estimators, + early_stopping_rounds=early_stopping_rounds, + evals=evals, + evals_result=evals_result, feval=feval, + verbose_eval=verbose, xgb_model=xgb_model, + callbacks=callbacks) self.objective = params["objective"]