code: def _fit(
      self,
      predictions: List[np.ndarray],
      labels: np.ndarray,
      *,
      X_data: SUPPORTED_FEAT_TYPES | None = None,
  ) -> EnsembleSelection:
      if self.mode == "fast":
          self._fast(
              predictions=predictions, X_data=X_data, labels=labels
          )
      else:
          self._slow(
              predictions=predictions, X_data=X_data, labels=labels
          )
      return self
  
imports: from __future__ import annotations
  from typing import Dict, List, Sequence, Tuple, Union
  import random
  import warnings
  from collections import Counter
  import numpy
  from sklearn.utils import check_random_state
  from autosklearn.automl_common.common.utils.backend import Backend
  from autosklearn.constants import TASK_TYPES
  from autosklearn.data.validation import SUPPORTED_FEAT_TYPES
  from autosklearn.ensemble_building.run import Run
  from autosklearn.ensembles.abstract_ensemble import AbstractEnsemble
  from autosklearn.metrics import Scorer, calculate_losses
  from autosklearn.pipeline.base import BasePipeline
label_desc: Use image node_id 3 for calling the EnsembleSelection obj's underlying member method code with example usage: obj._fit(predictions, labels) and returns: self