docstr: Fit the model with X and apply the dimensionality reduction on X.
  Parameters
  ----------
  X : array-like of shape (n_samples, n_features)
      Training data, where `n_samples` is the number of samples
      and `n_features` is the number of features.
  y : Ignored.
  
  Returns
  -------
  X_new : ndarray of shape (n_samples, n_components)
      Transformed values of X.
docstr_tok: ["Fit","the","model","with","X","and","apply","the","dimensionality","reduction","on","X.","Parameters","--","--","--","--","--","X",":","array-like","of","shape","(","n_samples",",","n_features",")","Training","data",",","where","`","n_samples","`","is","the","number","of","samples","and","`","n_features","`","is","the","number","of","features",".","y",":","Ignored",".","Returns","--","--","--","-","X_new",":","ndarray","of","shape","(","n_samples",",","n_components",")","Transformed","values","of","X","."]
code: def fit_transform(self, X, y=None):
      """Fit the model with X and apply the dimensionality reduction on X.
      Parameters
      ----------
      X : array-like of shape (n_samples, n_features)
          Training data, where `n_samples` is the number of samples
          and `n_features` is the number of features.
      y : Ignored.
  
      Returns
      -------
      X_new : ndarray of shape (n_samples, n_components)
          Transformed values of X.
      """
      if self.svd_solver in ["randomized", "arpack"]:
          return super().fit_transform(X)
      else:
          self.fit(X)
          if hasattr(self, "_onedal_estimator"):
              X_new = self._onedal_transform(X)[:, : self.n_components_]
              if self.whiten:
                  X_new /= np.sqrt(self.explained_variance_)
              return X_new
          else:
              return super().transform(X)
  
imports: import numbers
  from math import sqrt
  import numpy
  from scipy.sparse import issparse
  from sklearn.base import BaseEstimator
  from sklearn.utils.extmath import stable_cumsum
  from sklearn.utils.validation import check_array, check_is_fitted
  from daal4py.sklearn._utils import control_n_jobs, run_with_n_jobs, sklearn_check_version
  from onedal.utils import _check_array
  from ..._device_offload import dispatch
  from ..._utils import PatchingConditionsChain, register_hyperparameters
  from sklearn.decomposition import PCA
  from onedal.common.hyperparameters import get_hyperparameters
  from onedal.decomposition import PCA
label_desc: Use image node_id 11 for calling the PCA obj's underlying member method code with example usage: obj.fit_transform(X, y) and returns: super, X_new, super