class_docstr: A block transformer that is built by concatenating the blocks of the same
  index from a list of block transformers.
  
  Parameters
  ----------
  block_transformer_list: list of BlockTransformer objects
      The list of block transformers to combine
  rescale_mode: string in {"max", "mean", None}
      Flag for the type of rescaling to be done to the blocks from different
      base transformers. If "max", divide each block by the max std deviation
      of a column within the block. If "mean", divide each block by the mean
      std deviation of a column within the block. If None, do not rescale.
  drop_features: bool
      Flag for whether to return an empty block if that from the first
      transformer in the list is trivial.
class_docstr_tok: ["A","block","transformer","that","is","built","by","concatenating","the","blocks","of","the","same","index","from","a","list","of","block","transformers",".","Parameters","--","--","--","--","--","block_transformer_list",":","list","of","BlockTransformer","objects","The","list","of","block","transformers","to","combine","rescale_mode",":","string","in","{","``","max","''",",","``","mean","''",",","None","}","Flag","for","the","type","of","rescaling","to","be","done","to","the","blocks","from","different","base","transformers",".","If","``","max","''",",","divide","each","block","by","the","max","std","deviation","of","a","column","within","the","block",".","If","``","mean","''",",","divide","each","block","by","the","mean","std","deviation","of","a","column","within","the","block",".","If","None",",","do","not","rescale",".","drop_features",":","bool","Flag","for","whether","to","return","an","empty","block","if","that","from","the","first","transformer","in","the","list","is","trivial","."]
code: def __init__(
      self,
      block_transformer_list,
      rescale_mode=None,
      drop_features=True,
  ):
      super().__init__()
      self.block_transformer_list = block_transformer_list
      assert len(self.block_transformer_list) > 0, (
          "Need at least one base" "transformer."
      )
      for transformer in block_transformer_list:
          if (
              hasattr(transformer, "oob_seed")
              and transformer.oob_seed is not None
          ):
              self.oob_seed = transformer.oob_seed
              break
      self.rescale_mode = rescale_mode
      self.drop_features = drop_features
      self._rescale_factors = {}
      self._trivial_block_indices = {}
  
imports: from abc import ABC, abstractmethod
  import numpy
  from collections import defaultdict
  from sklearn.ensemble import BaseEnsemble
  from sklearn.ensemble._forest import _generate_unsampled_indices, _generate_sample_indices
  from .local_stumps import make_stumps, tree_feature_transform
label_desc: Use image node_id 1 to create a new CompositeTransformer object from inherited base classes: BlockTransformerBase, ABC with example: obj = CompositeTransformer(block_transformer_list, rescale_mode, drop_features)