code: def fit(self, X, Y=None):
      import sklearn.decomposition
  
      self.whiten = check_for_bool(self.whiten)
      if check_none(self.n_components):
          self.n_components = None
      else:
          self.n_components = int(self.n_components)
  
      self.preprocessor = sklearn.decomposition.FastICA(
          n_components=self.n_components,
          algorithm=self.algorithm,
          fun=self.fun,
          whiten=self.whiten,
          random_state=self.random_state,
      )
      # Make the RuntimeWarning an Exception!
      with warnings.catch_warnings():
          warnings.filterwarnings(
              "error", message="array must not contain infs or NaNs"
          )
          try:
              self.preprocessor.fit(X)
          except ValueError as e:
              if "array must not contain infs or NaNs" in e.args[0]:
                  raise ValueError(
                      "Bug in scikit-learn: "
                      "https://github.com/scikit-learn/scikit-learn/pull/2738"
                  )
  
      return self
  
file_path: auto-sklearn/autosklearn/pipeline/components/feature_preprocessing/fast_ica.py
imports: from typing import Optional
  import warnings
  from ConfigSpace.conditions import EqualsCondition
  from ConfigSpace.configuration_space import ConfigurationSpace
  from ConfigSpace.hyperparameters import CategoricalHyperparameter, UniformIntegerHyperparameter
  from autosklearn.askl_typing import FEAT_TYPE_TYPE
  from autosklearn.pipeline.components.base import AutoSklearnPreprocessingAlgorithm
  from autosklearn.pipeline.constants import DENSE, INPUT, UNSIGNED_DATA
  from autosklearn.util.common import check_for_bool, check_none
label_desc: Use image node_id 2 for calling the FastICA obj's underlying member method code with example usage: obj.fit(X, Y) and returns: self