From c8ae52f17a74ee01b9bb3a9be76601982cd7e4e1 Mon Sep 17 00:00:00 2001 From: Jonathan Rahn Date: Mon, 10 Oct 2016 05:37:28 +0200 Subject: [PATCH] add scikit-learn v0.18 compatibility (#1636) * add scikit-learn v0.18 compatibility import KFold & StratifiedKFold from sklearn.model_selection instead of sklearn.cross_validation * change DeprecationWarning to ImportError DeprecationWarning isn't an exception, so it should work the other way around. --- python-package/xgboost/compat.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python-package/xgboost/compat.py b/python-package/xgboost/compat.py index 8237b1249..14be8870c 100644 --- a/python-package/xgboost/compat.py +++ b/python-package/xgboost/compat.py @@ -47,7 +47,11 @@ try: from sklearn.base import BaseEstimator from sklearn.base import RegressorMixin, ClassifierMixin from sklearn.preprocessing import LabelEncoder # noqa - from sklearn.cross_validation import KFold, StratifiedKFold + try: + from sklearn.model_selection import KFold, StratifiedKFold + except ImportError: + from sklearn.cross_validation import KFold, StratifiedKFold + SKLEARN_INSTALLED = True XGBModelBase = BaseEstimator