code: def fit_transform(self, X, **kwargs):
          
          tasklogger.log_start('PHATE')
          self.fit(X)
          embedding = self.transform(**kwargs)
          tasklogger.log_complete('PHATE')
          return embedding
docs: Computes the diffusion operator and the position of the cells in the
          embedding space
  
          Parameters
          ----------
          X : array, shape=[n_samples, n_features]
              input data with `n_samples` samples and `n_dimensions`
              dimensions. Accepted data types: `numpy.ndarray`,
              `scipy.sparse.spmatrix`, `pd.DataFrame`, `anndata.AnnData` If
              `knn_dist` is 'precomputed', `data` should be a n_samples x
              n_samples distance or affinity matrix
  
          kwargs : further arguments for `PHATE.transform()`
              Keyword arguments as specified in :func:`~phate.PHATE.transform`
  
          Returns
          -------
          embedding : array, shape=[n_samples, n_dimensions]
              The cells embedded in a lower dimensional space using PHATE