class_docstr: Abstract implementation of the surrogate model.
  
  Note
  ----
  The input dimensionality of Y for training and the output dimensions of all predictions depend on the concrete
  implementation of this abstract class.
  
  Parameters
  ----------
  configspace : ConfigurationSpace
  instance_features : dict[str, list[int | float]] | None, defaults to None
      Features (list of int or floats) of the instances (str). The features are incorporated into the X data,
      on which the model is trained on.
  pca_components : float, defaults to 7
      Number of components to keep when using PCA to reduce dimensionality of instance features.
  seed : int
class_docstr_tok: ["Abstract","implementation","of","the","surrogate","model",".","Note","--","--","The","input","dimensionality","of","Y","for","training","and","the","output","dimensions","of","all","predictions","depend","on","the","concrete","implementation","of","this","abstract","class",".","Parameters","--","--","--","--","--","configspace",":","ConfigurationSpace","instance_features",":","dict","[","str",",","list","[","int","|","float","]","]","|","None",",","defaults","to","None","Features","(","list","of","int","or","floats",")","of","the","instances","(","str",")",".","The","features","are","incorporated","into","the","X","data",",","on","which","the","model","is","trained","on",".","pca_components",":","float",",","defaults","to","7","Number","of","components","to","keep","when","using","PCA","to","reduce","dimensionality","of","instance","features",".","seed",":","int"]
docstr: Predicts mean and variance for a given X.
  
  Parameters
  ----------
  X : np.ndarray [#samples, #hyperparameters + #features]
      Input data points.
  covariance_type : str | None, defaults to "diagonal"
      Specifies what to return along with the mean. Applied only to Gaussian Processes.
      Takes four valid inputs:
      * None: Only the mean is returned.
      * "std": Standard deviation at test points is returned.
      * "diagonal": Diagonal of the covariance matrix is returned.
      * "full": Whole covariance matrix between the test points is returned.
  
  Returns
  -------
  means : np.ndarray [#samples, #objectives]
      The predictive mean.
  vars : np.ndarray [#samples, #objectives] or [#samples, #samples] | None
      Predictive variance or standard deviation.
docstr_tok: ["Predicts","mean","and","variance","for","a","given","X.","Parameters","--","--","--","--","--","X",":","np.ndarray","[","#","samples",",","#","hyperparameters","+","#","features","]","Input","data","points",".","covariance_type",":","str","|","None",",","defaults","to","``","diagonal","''","Specifies","what","to","return","along","with","the","mean",".","Applied","only","to","Gaussian","Processes",".","Takes","four","valid","inputs",":","*","None",":","Only","the","mean","is","returned",".","*","``","std","''",":","Standard","deviation","at","test","points","is","returned",".","*","``","diagonal","''",":","Diagonal","of","the","covariance","matrix","is","returned",".","*","``","full","''",":","Whole","covariance","matrix","between","the","test","points","is","returned",".","Returns","--","--","--","-","means",":","np.ndarray","[","#","samples",",","#","objectives","]","The","predictive","mean",".","vars",":","np.ndarray","[","#","samples",",","#","objectives","]","or","[","#","samples",",","#","samples","]","|","None","Predictive","variance","or","standard","deviation","."]
code: def _predict(
      self,
      X: np.ndarray,
      covariance_type: str | None = "diagonal",
  ) -> tuple[np.ndarray, np.ndarray | None]:
      """Predicts mean and variance for a given X.
  
      Parameters
      ----------
      X : np.ndarray [#samples, #hyperparameters + #features]
          Input data points.
      covariance_type : str | None, defaults to "diagonal"
          Specifies what to return along with the mean. Applied only to Gaussian Processes.
          Takes four valid inputs:
          * None: Only the mean is returned.
          * "std": Standard deviation at test points is returned.
          * "diagonal": Diagonal of the covariance matrix is returned.
          * "full": Whole covariance matrix between the test points is returned.
  
      Returns
      -------
      means : np.ndarray [#samples, #objectives]
          The predictive mean.
      vars : np.ndarray [#samples, #objectives] or [#samples, #samples] | None
          Predictive variance or standard deviation.
      """
      raise NotImplementedError()
  
imports: from __future__ import annotations
  from abc import abstractmethod
  from typing import Any, TypeVar
  import copy
  import warnings
  import numpy
  from ConfigSpace import ConfigurationSpace
  from sklearn.decomposition import PCA
  from sklearn.exceptions import NotFittedError
  from sklearn.preprocessing import MinMaxScaler
  from smac.constants import VERY_SMALL_NUMBER
  from smac.utils.configspace import get_types
  from smac.utils.logging import get_logger
label_desc: Use image node_id 6 for calling the AbstractModel obj's underlying member method code with example usage: obj._predict(X, covariance_type) without return types