class_docstr: Dynamic Ensemble Selection (DES) is an established combination
  framework for classification tasks. The technique was based on
  Dynamic Classifier Selection (DCS) proposed by Ho et al. in
  1994 :cite:`ho1994decision`. The motivation behind this approach is that
  base classifiers often make distinctive errors and over a degree of
  complementarity. Consequently, selectively combining base classifier can
  result in a performance improvement over generic ensembles which use the
  majority vote of all base classifiers.
  
  Compared with DCS, DES uses a group of best classifiers to conduct a
  second phase combination, other than only the best classifier. The
  implemented version in this class is DES_LA which uses local accuracy
  as the metric for evaluating base classifier performance. `predict`
  uses (weighted) majority vote and `predict_proba` uses (weighted) average.
  
  See :cite:`ko2008dynamic` for details.
  
  Parameters
  ----------
  base_estimators: list or numpy array (n_estimators,)
      A list of base classifiers.
  
  local_region_size : int, optional (default=30)
      Number of training points to consider in each iteration of the local
      region generation process (30 by default).
  
  n_selected_clfs : int, optional (default=None)
      Number of selected base classifiers in the second phase combination.
      If None, set it to 1/2 * n_base_estimators
  
  use_weights : bool, optional (default=False)
      If True, use the classifiers' performance on the local region as
      their weight.
  
  threshold : float in (0, 1), optional (default=None)
      Cut-off value to convert scores into binary labels.
  
  pre_fitted : bool, optional (default=False)
      Whether the base classifiers are trained. If True, `fit`
      process may be skipped.
code: def __init__(
      self,
      base_estimators,
      local_region_size=30,
      n_selected_clfs=None,
      use_weights=False,
      threshold=None,
      pre_fitted=None,
  ):
      super(DES_LA, self).__init__(
          base_estimators=base_estimators, pre_fitted=pre_fitted
      )
  
      # validate input parameters
      if not isinstance(local_region_size, int):
          raise ValueError(
              "local_region_size must be an integer variable"
          )
      check_parameter(
          local_region_size,
          low=2,
          include_left=True,
          param_name="local_region_size",
      )
      self.local_region_size = local_region_size
  
      if n_selected_clfs is None:
          self.n_selected_clfs = int(self.n_base_estimators_ * 0.5)
      else:
          if not isinstance(n_selected_clfs, int):
              raise ValueError(
                  "n_selected_clfs must be an integer variable"
              )
          check_parameter(
              n_selected_clfs,
              low=1,
              high=self.n_base_estimators_,
              include_left=True,
              include_right=True,
              param_name="n_selected_clfs",
          )
          self.n_selected_clfs = n_selected_clfs
  
      self.use_weights = use_weights
  
      if threshold is not None:
          warnings.warn(
              "DES does not support threshold setting option. "
              "Please set the threshold in classifiers directly."
          )
  
      if pre_fitted is not None:
          warnings.warn("DES does not support pre_fitted option.")
  
imports: import warnings
  import numpy
  from sklearn.neighbors import KDTree
  from sklearn.metrics import accuracy_score
  from sklearn.utils import check_array
  from sklearn.utils import check_X_y
  from sklearn.utils.validation import check_is_fitted
  from sklearn.utils.multiclass import check_classification_targets
  from pyod.utils.utility import check_parameter
  from pyod.utils.utility import argmaxn
  from .base import BaseAggregator
  from ..utils.utility import score_to_proba
  from .classifier_comb import average
  from .classifier_comb import majority_vote
label_desc: Use image node_id 1 to create a new DES_LA object from inherited base classes: BaseAggregator with example: obj = DES_LA(base_estimators, local_region_size, n_selected_clfs, use_weights, threshold, pre_fitted)