docstr: Fit an ensemble given predictions of base models and targets.
  
  Ensemble building maximizes performance (in contrast to
  hyperparameter optimization)!
  
  Parameters
  ----------
  base_models_predictions: np.ndarray
      shape = (n_base_models, n_data_points, n_targets)
      n_targets is the number of classes in case of classification,
      n_targets is 0 or 1 in case of regression
  
      Can be a list of 2d numpy arrays as well to prevent copying all
      predictions into a single, large numpy array.
  
  X_data : list-like or sparse data
  
  true_targets : array of shape [n_targets]
  
  model_identifiers : identifier for each base model.
      Can be used for practical text output of the ensemble.
  
  runs: Sequence[Run]
      Additional information for each run executed by SMAC that was
      considered by the ensemble builder.
  
  Returns
  -------
  self
docstr_tok: ["Fit","an","ensemble","given","predictions","of","base","models","and","targets",".","Ensemble","building","maximizes","performance","(","in","contrast","to","hyperparameter","optimization",")","!","Parameters","--","--","--","--","--","base_models_predictions",":","np.ndarray","shape","=","(","n_base_models",",","n_data_points",",","n_targets",")","n_targets","is","the","number","of","classes","in","case","of","classification",",","n_targets","is","0","or","1","in","case","of","regression","Can","be","a","list","of","2d","numpy","arrays","as","well","to","prevent","copying","all","predictions","into","a","single",",","large","numpy","array",".","X_data",":","list-like","or","sparse","data","true_targets",":","array","of","shape","[","n_targets","]","model_identifiers",":","identifier","for","each","base","model",".","Can","be","used","for","practical","text","output","of","the","ensemble",".","runs",":","Sequence","[","Run","]","Additional","information","for","each","run","executed","by","SMAC","that","was","considered","by","the","ensemble","builder",".","Returns","--","--","--","-","self"]
code: def fit(
      self,
      base_models_predictions: np.ndarray | List[np.ndarray],
      true_targets: np.ndarray,
      model_identifiers: List[Tuple[int, int, float]],
      runs: Sequence[Run],
      X_data: SUPPORTED_FEAT_TYPES | None = None,
  ) -> "AbstractEnsemble":
      """Fit an ensemble given predictions of base models and targets.
  
      Ensemble building maximizes performance (in contrast to
      hyperparameter optimization)!
  
      Parameters
      ----------
      base_models_predictions: np.ndarray
          shape = (n_base_models, n_data_points, n_targets)
          n_targets is the number of classes in case of classification,
          n_targets is 0 or 1 in case of regression
  
          Can be a list of 2d numpy arrays as well to prevent copying all
          predictions into a single, large numpy array.
  
      X_data : list-like or sparse data
  
      true_targets : array of shape [n_targets]
  
      model_identifiers : identifier for each base model.
          Can be used for practical text output of the ensemble.
  
      runs: Sequence[Run]
          Additional information for each run executed by SMAC that was
          considered by the ensemble builder.
  
      Returns
      -------
      self
  
      """
      pass
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Sequence, Tuple, Union
  import numpy
  from autosklearn.automl_common.common.utils.backend import Backend
  from autosklearn.data.validation import SUPPORTED_FEAT_TYPES
  from autosklearn.ensemble_building.run import Run
  from autosklearn.metrics import Scorer
  from autosklearn.pipeline.base import BasePipeline
label_desc: Use image node_id 3 for calling the AbstractEnsemble obj's underlying member method code with example usage: obj.fit(base_models_predictions, true_targets, model_identifiers, runs, X_data) without return types