class_docstr: Base class for a dynamic classifier selection (dcs) and
     dynamic ensemble selection (des) methods.
  
  All DCS and DES techniques should inherit from this class.
  
  Warning: This class should not be used directly.
  Use derived classes instead.
docstr: Check the estimator and the n_estimator attribute, set the
  `base_estimator_` attribute.
  
  Raises
  -------
  ValueError
      If the pool of classifiers is empty.
docstr_tok: ["Check","the","estimator","and","the","n_estimator","attribute",",","set","the","`","base_estimator_","`","attribute",".","Raises","--","--","--","-","ValueError","If","the","pool","of","classifiers","is","empty","."]
code: def _validate_pool_classifiers(self):
      """Check the estimator and the n_estimator attribute, set the
      `base_estimator_` attribute.
  
      Raises
      -------
      ValueError
          If the pool of classifiers is empty.
      """
      if self.n_classifiers_ <= 1:
          raise ValueError(
              "n_classifiers must be greater than one, "
              "got {}.".format(self.n_classifiers_)
          )
  
imports: import functools
  import math
  import warnings
  from abc import abstractmethod, ABCMeta
  import numpy
  from scipy.stats import mode
  from sklearn.base import BaseEstimator, ClassifierMixin
  from sklearn.ensemble import BaseEnsemble, BaggingClassifier
  from sklearn.model_selection import train_test_split
  from sklearn.neighbors import KNeighborsClassifier
  from sklearn.preprocessing import LabelEncoder, normalize
  from sklearn.utils.validation import check_X_y, check_is_fitted, check_array, check_random_state
  from deslib.util import KNNE
  from deslib.util import faiss_knn_wrapper
  from deslib.util.dfp import frienemy_pruning_preprocessed
  from deslib.util.instance_hardness import hardness_region_competence
label_desc: Use image node_id 32 for calling the BaseDS obj's underlying member method code with example usage: obj._validate_pool_classifiers() without return types