code: def fit(self, X, Y):
      import sklearn.decomposition
  
      self.target_dim = int(self.target_dim)
      target_dim = min(self.target_dim, X.shape[1] - 1)
      self.preprocessor = sklearn.decomposition.TruncatedSVD(
          target_dim,
          algorithm="randomized",
          random_state=self.random_state,
      )
      # TODO: remove when migrating to sklearn 0.16
      # Circumvents a bug in sklearn
      # https://github.com/scikit-learn/scikit-learn/commit/f08b8c8e52663167819f242f605db39f3b5a6d0c
      # X = X.astype(np.float64)
      self.preprocessor.fit(X, Y)
  
      return self
  
file_path: auto-sklearn/autosklearn/pipeline/components/feature_preprocessing/truncatedSVD.py
imports: from typing import Optional
  from ConfigSpace.configuration_space import ConfigurationSpace
  from ConfigSpace.hyperparameters import UniformIntegerHyperparameter
  from autosklearn.askl_typing import FEAT_TYPE_TYPE
  from autosklearn.pipeline.components.base import AutoSklearnPreprocessingAlgorithm
  from autosklearn.pipeline.constants import DENSE, INPUT, SPARSE, UNSIGNED_DATA
label_desc: Use image node_id 2 for calling the TruncatedSVD obj's underlying member method code with example usage: obj.fit(X, Y) and returns: self