class_docstr: Dynamic Classifier Selection (DCS) is an established combination
  framework for classification tasks. The technique was first proposed by Ho
  et al. in 1994 :cite:`ho1994decision` and then extended, under the name
  DCS Local Accuracy, by Woods et al. in 1997 :cite:`woods1997combination`
  to select the most accurate base classifier in a local region.
  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.
  
  See :cite:`woods1997combination` 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).
  
  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.
class_docstr_tok: ["Dynamic","Classifier","Selection","(","DCS",")","is","an","established","combination","framework","for","classification","tasks",".","The","technique","was","first","proposed","by","Ho","et","al",".","in","1994",":","cite",":","`","ho1994decision","`","and","then","extended",",","under","the","name","DCS","Local","Accuracy",",","by","Woods","et","al",".","in","1997",":","cite",":","`","woods1997combination","`","to","select","the","most","accurate","base","classifier","in","a","local","region",".","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",".","See",":","cite",":","`","woods1997combination","`","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",")",".","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,
      threshold=None,
      pre_fitted=None,
  ):
      super(DCS_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 threshold is not None:
          warnings.warn(
              "DCS does not support threshold setting option. "
              "Please set the threshold in classifiers directly."
          )
  
      if pre_fitted is not None:
          warnings.warn("DCS does not support pre_fitted option.")
  
file_path: combo/combo/models/classifier_dcs.py
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 .base import BaseAggregator
label_desc: Use image node_id 1 to create a new DCS_LA object from inherited base classes: BaseAggregator with example: obj = DCS_LA(base_estimators, local_region_size, threshold, pre_fitted)