class_docstr: Base Class for column ensemble.
class_docstr_tok: ["Base","Class","for","column","ensemble","."]
docstr: Validate ``remainder`` and defines ``_remainder``.
docstr_tok: ["Validate","``","remainder","``","and","defines","``","_remainder","``","."]
code: def _validate_remainder(self, X):
      """Validate ``remainder`` and defines ``_remainder``."""
      is_estimator = hasattr(self.remainder, "fit") or hasattr(
          self.remainder, "predict_proba"
      )
      if self.remainder != "drop" and not is_estimator:
          raise ValueError(
              "The remainder keyword needs to be 'drop', '%s' was passed "
              "instead" % self.remainder
          )
  
      n_columns = X.shape[1]
      cols = []
      for columns in self._columns:
          cols.extend(_get_column_indices(X, columns))
      remaining_idx = (
          sorted(list(set(range(n_columns)) - set(cols))) or None
      )
  
      self._remainder = ("remainder", self.remainder, remaining_idx)
  
imports: from itertools import chain
  import numpy
  import pandas
  from sklearn.preprocessing import LabelEncoder
  from sktime.base import _HeterogenousMetaEstimator
  from sktime.classification.base import BaseClassifier
label_desc: Use image node_id 6 for calling the BaseColumnEnsembleClassifier obj's underlying member method code with example usage: obj._validate_remainder(X) without return types