class_docstr: Applies estimators to columns of an array or pandas DataFrame.
  
  This estimator allows different columns or column subsets of the input
  to be transformed separately and the features generated by each
  transformer will be ensembled to form a single output.
  
  Parameters
  ----------
  estimators : list of tuples
      List of (name, estimator, column(s)) tuples specifying the transformer
      objects to be applied to subsets of the data.
  
      name : string
          Like in Pipeline and FeatureUnion, this allows the
          transformer and its parameters to be set using ``set_params`` and searched
          in grid search.
      estimator :  or {'drop'}
          Estimator must support `fit` and `predict_proba`. Special-cased
          strings 'drop' and 'passthrough' are accepted as well, to
          indicate to drop the columns.
      column(s) : array-like of string or int, slice, boolean mask array or callable.
  
  remainder : {'drop', 'passthrough'} or estimator, default 'drop'
      By default, only the specified columns in `transformations` are
      transformed and combined in the output, and the non-specified
      columns are dropped. (default of ``'drop'``).
      By specifying ``remainder='passthrough'``, all remaining columns
      that were not specified in `transformations` will be automatically passed
      through. This subset of columns is concatenated with the output of
      the transformations.
      By setting ``remainder`` to be an estimator, the remaining
      non-specified columns will use the ``remainder`` estimator. The
      estimator must support `fit` and `transform`.
  
  Examples
  --------
  >>> from sktime.classification.dictionary_based import ContractableBOSS
  >>> from sktime.classification.interval_based import CanonicalIntervalForest
  >>> from sktime.datasets import load_basic_motions
  >>> X_train, y_train = load_basic_motions(split="train") # doctest: +SKIP
  >>> X_test, y_test = load_basic_motions(split="test") # doctest: +SKIP
  >>> cboss = ContractableBOSS(
  ...     n_parameter_samples=4, max_ensemble_size=2, random_state=0
  ... ) # doctest: +SKIP
  >>> cif = CanonicalIntervalForest(
  ...     n_estimators=2, n_intervals=4, att_subsample_size=4, random_state=0
  ... ) # doctest: +SKIP
  >>> estimators = [("cBOSS", cboss, 5), ("CIF", cif, [3, 4])] # doctest: +SKIP
  >>> col_ens = ColumnEnsembleClassifier(estimators=estimators) # doctest: +SKIP
  >>> col_ens.fit(X_train, y_train) # doctest: +SKIP
  ColumnEnsembleClassifier(...)
  >>> y_pred = col_ens.predict(X_test) # doctest: +SKIP
class_docstr_tok: ["Applies","estimators","to","columns","of","an","array","or","pandas","DataFrame",".","This","estimator","allows","different","columns","or","column","subsets","of","the","input","to","be","transformed","separately","and","the","features","generated","by","each","transformer","will","be","ensembled","to","form","a","single","output",".","Parameters","--","--","--","--","--","estimators",":","list","of","tuples","List","of","(","name",",","estimator",",","column","(","s",")",")","tuples","specifying","the","transformer","objects","to","be","applied","to","subsets","of","the","data",".","name",":","string","Like","in","Pipeline","and","FeatureUnion",",","this","allows","the","transformer","and","its","parameters","to","be","set","using","``","set_params","``","and","searched","in","grid","search",".","estimator",":","or","{","'drop","'","}","Estimator","must","support","`","fit","`","and","`","predict_proba","`",".","Special-cased","strings","'drop","'","and","'passthrough","'","are","accepted","as","well",",","to","indicate","to","drop","the","columns",".","column","(","s",")",":","array-like","of","string","or","int",",","slice",",","boolean","mask","array","or","callable",".","remainder",":","{","'drop","'",",","'passthrough","'","}","or","estimator",",","default","'drop'","By","default",",","only","the","specified","columns","in","`","transformations","`","are","transformed","and","combined","in","the","output",",","and","the","non-specified","columns","are","dropped",".","(","default","of","``","'drop","'","``",")",".","By","specifying","``","remainder='passthrough","'","``",",","all","remaining","columns","that","were","not","specified","in","`","transformations","`","will","be","automatically","passed","through",".","This","subset","of","columns","is","concatenated","with","the","output","of","the","transformations",".","By","setting","``","remainder","``","to","be","an","estimator",",","the","remaining","non-specified","columns","will","use","the","``","remainder","``","estimator",".","The","estimator","must","support","`","fit","`","and","`","transform","`",".","Examples","--","--","--","--",">",">",">","from","sktime.classification.dictionary_based","import","ContractableBOSS",">",">",">","from","sktime.classification.interval_based","import","CanonicalIntervalForest",">",">",">","from","sktime.datasets","import","load_basic_motions",">",">",">","X_train",",","y_train","=","load_basic_motions","(","split=","''","train","''",")","#","doctest",":","+SKIP",">",">",">","X_test",",","y_test","=","load_basic_motions","(","split=","''","test","''",")","#","doctest",":","+SKIP",">",">",">","cboss","=","ContractableBOSS","(","...","n_parameter_samples=4",",","max_ensemble_size=2",",","random_state=0","...",")","#","doctest",":","+SKIP",">",">",">","cif","=","CanonicalIntervalForest","(","...","n_estimators=2",",","n_intervals=4",",","att_subsample_size=4",",","random_state=0","...",")","#","doctest",":","+SKIP",">",">",">","estimators","=","[","(","``","cBOSS","''",",","cboss",",","5",")",",","(","``","CIF","''",",","cif",",","[","3",",","4","]",")","]","#","doctest",":","+SKIP",">",">",">","col_ens","=","ColumnEnsembleClassifier","(","estimators=estimators",")","#","doctest",":","+SKIP",">",">",">","col_ens.fit","(","X_train",",","y_train",")","#","doctest",":","+SKIP","ColumnEnsembleClassifier","(","...",")",">",">",">","y_pred","=","col_ens.predict","(","X_test",")","#","doctest",":","+SKIP"]
code: def __init__(self, estimators, remainder="drop", verbose=False):
      self.remainder = remainder
      super().__init__(estimators, verbose=verbose)
  
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 1 to create a new ColumnEnsembleClassifier object from inherited base classes: BaseColumnEnsembleClassifier with example: obj = ColumnEnsembleClassifier(estimators, remainder, verbose)