code: def fit(self, X, Y=None):
      import sklearn.decomposition
  
      n_components = float(self.keep_variance)
      self.whiten = check_for_bool(self.whiten)
  
      self.preprocessor = sklearn.decomposition.PCA(
          n_components=n_components, whiten=self.whiten, copy=True
      )
      self.preprocessor.fit(X)
  
      if not np.isfinite(self.preprocessor.components_).all():
          raise ValueError("PCA found non-finite components.")
  
      return self
  
file_path: auto-sklearn/autosklearn/pipeline/components/feature_preprocessing/pca.py
imports: from typing import Optional
  import numpy
  from ConfigSpace.configuration_space import ConfigurationSpace
  from ConfigSpace.hyperparameters import CategoricalHyperparameter, UniformFloatHyperparameter
  from autosklearn.askl_typing import FEAT_TYPE_TYPE
  from autosklearn.pipeline.components.base import AutoSklearnPreprocessingAlgorithm
  from autosklearn.pipeline.constants import DENSE, UNSIGNED_DATA
  from autosklearn.util.common import check_for_bool
label_desc: Use image node_id 2 for calling the PCA obj's underlying member method code with example usage: obj.fit(X, Y) and returns: self