class_docstr: A handle for learners and transformers that share a common indexer.
  
  Lightweight class for pairing a set of independent learners with
  a set of transformers that all share the same cross-validation strategy.
  A :class:`Group` instance is an acceptable caller to
  :class:`~mlens.parallel.ParallelProcessing`.
  
  .. versionadded:: 0.2.0
  
  .. note::
      All instances will share *the same* indexer. If instances have a
      different indexer, that indexer will be replaced.
  
  .. seealso::
      To run a :class:`Group` instance, see :func:`~mlens.parallel.wrapper.run`.
      To handle several groups, use the :class:`~mlens.parallel.layer.Layer`
      class.
  
  Parameters
  ----------
  indexer : inst, optional
      A :obj:`~mlens.index` indexer to build learner and transformers on.
      If not passed, the first indexer of the learners will be enforced
      on all instances.
  
  learners : list, inst, optional
      :class:`~mlens.parallel.learner.Learner` instance(s) attached to
      indexer. Note that :class:`Group` overrides previous
      ``indexer`` parameter settings.
  
  transformers : list, inst, optional
      :class:`~mlens.parallel.learner.Transformer` instance(s) attached to
      indexer. Note that :class:`Group` overrides previous
      ``indexer`` parameter settings.
  
  name : str, optional
      name of group
  
  **kwargs : optional
      Optional keyword arguments to the
      :class:`~mlens.parallel.base.BaseParallel` backend.
code: def __init__(
      self,
      indexer=None,
      learners=None,
      transformers=None,
      name=None,
      **kwargs,
  ):
      name = format_name(name, "group", GLOBAL_GROUP_NAMES)
      super(Group, self).__init__(name=name, **kwargs)
  
      learners, transformers = mold_objects(learners, transformers)
      if not indexer:
          indexer = learners[0].indexer
  
      # Enforce common indexer
      self.indexer = indexer
      for o in learners + transformers:
          o.set_indexer(self.indexer)
  
      self.learners = learners
      self.transformers = transformers
  
      self.__static__.extend(["indexer", "learners", "transformers"])
  
imports: from .base import BaseEstimator
  from .learner import Learner, Transformer
  from ._base_functions import mold_objects, transform
  from ..utils import format_name, check_instances
  from ..utils.formatting import _check_instances
  from ..externals.sklearn.base import clone, BaseEstimator
label_desc: Use image node_id 1 to create a new Group object from inherited base classes: BaseEstimator with example: obj = Group(indexer, learners, transformers, name)