# coding: utf-8 """Compatibility library.""" """pandas""" try: from pandas import Series, DataFrame from pandas.api.types import is_sparse as is_dtype_sparse PANDAS_INSTALLED = True except ImportError: PANDAS_INSTALLED = False class Series: """Dummy class for pandas.Series.""" pass class DataFrame: """Dummy class for pandas.DataFrame.""" pass is_dtype_sparse = None """matplotlib""" try: import matplotlib MATPLOTLIB_INSTALLED = True except ImportError: MATPLOTLIB_INSTALLED = False """graphviz""" try: import graphviz GRAPHVIZ_INSTALLED = True except ImportError: GRAPHVIZ_INSTALLED = False """datatable""" try: import datatable if hasattr(datatable, "Frame"): DataTable = datatable.Frame else: DataTable = datatable.DataTable DATATABLE_INSTALLED = True except ImportError: DATATABLE_INSTALLED = False class DataTable: """Dummy class for DataTable.""" pass """sklearn""" try: from sklearn.base import BaseEstimator from sklearn.base import RegressorMixin, ClassifierMixin from sklearn.preprocessing import LabelEncoder from sklearn.utils.class_weight import compute_sample_weight from sklearn.utils.multiclass import check_classification_targets from sklearn.utils.validation import assert_all_finite, check_X_y, check_array try: from sklearn.model_selection import StratifiedKFold, GroupKFold from sklearn.exceptions import NotFittedError except ImportError: from sklearn.cross_validation import StratifiedKFold, GroupKFold from sklearn.utils.validation import NotFittedError try: from sklearn.utils.validation import _check_sample_weight except ImportError: from sklearn.utils.validation import check_consistent_length # dummy function to support older version of scikit-learn def _check_sample_weight(sample_weight, X, dtype=None): check_consistent_length(sample_weight, X) return sample_weight SKLEARN_INSTALLED = True _LGBMModelBase = BaseEstimator _LGBMRegressorBase = RegressorMixin _LGBMClassifierBase = ClassifierMixin _LGBMLabelEncoder = LabelEncoder LGBMNotFittedError = NotFittedError _LGBMStratifiedKFold = StratifiedKFold _LGBMGroupKFold = GroupKFold _LGBMCheckXY = check_X_y _LGBMCheckArray = check_array _LGBMCheckSampleWeight = _check_sample_weight _LGBMAssertAllFinite = assert_all_finite _LGBMCheckClassificationTargets = check_classification_targets _LGBMComputeSampleWeight = compute_sample_weight except ImportError: SKLEARN_INSTALLED = False _LGBMModelBase = object _LGBMClassifierBase = object _LGBMRegressorBase = object _LGBMLabelEncoder = None LGBMNotFittedError = ValueError _LGBMStratifiedKFold = None _LGBMGroupKFold = None _LGBMCheckXY = None _LGBMCheckArray = None _LGBMCheckSampleWeight = None _LGBMAssertAllFinite = None _LGBMCheckClassificationTargets = None _LGBMComputeSampleWeight = None