docs: def fit(self, X, y=None, **kwargs):
          """
          Fits the PCA transformer, transforms the data in X, then draws the
          decomposition in either 2D or 3D space as a scatter plot.
  
          Parameters
          ----------
          X : ndarray or DataFrame of shape n x m
              A matrix of n instances with m features.
  
          y : ndarray or Series of length n
              An array or series of target or class values.
  
          Returns
          -------
          self : visualizer
              Returns self for use in Pipelines
          """
          super(PCADecomposition, self).fit(X=X, y=y, **kwargs)
          self.pca_transformer.fit(X)
          self.pca_components_ = self.pca_transformer.named_steps['pca'].components_
          return self