class_docstr: Produce a two or three dimensional principal component plot of a data array
  projected onto its largest sequential principal components. It is common
  practice to scale the data array ``X`` before applying a PC decomposition.
  Variable scaling can be controlled using the ``scale`` argument.
  
  Parameters
  ----------
  ax : matplotlib Axes, default: None
      The axes to plot the figure on. If None is passed in, the current axes
      will be used (or generated if required).
  
  features : list, default: None
      The names of the features specified by the columns of the input dataset.
      This length of this list must match the number of columns in X, otherwise
      an exception will be raised on ``fit()``.
  
  classes : list, default: None
      The class labels for each class in y, ordered by sorted class index. These
      names act as a label encoder for the legend, identifying integer classes
      or renaming string labels. If omitted, the class labels will be taken from
      the unique values in y.
  
      Note that the length of this list must match the number of unique values in
      y, otherwise an exception is raised. This parameter is only used in the
      discrete target type case and is ignored otherwise.
  
  scale : bool, default: True
      Boolean that indicates if user wants to scale data.
  
  projection : int or string, default: 2
      The number of axes to project into, either 2d or 3d. To plot 3d plots
      with matplotlib, please ensure a 3d axes is passed to the visualizer,
      otherwise one will be created using the current figure.
  
  proj_features : bool, default: False
      Boolean that indicates if the user wants to project the features
      in the projected space. If True the plot will be similar to a biplot.
  
  colors : list or tuple, default: None
      A single color to plot all instances as or a list of colors to color each
      instance according to its class in the discrete case or as an ordered
      colormap in the sequential case. If not enough colors per class are
      specified then the colors are treated as a cycle.
  
  colormap : string or cmap, default: None
      The colormap used to create the individual colors. In the discrete case
      it is used to compute the number of colors needed for each class and
      in the continuous case it is used to create a sequential color map based
      on the range of the target.
  
  alpha : float, default: 0.75
      Specify a transparency where 1 is completely opaque and 0 is completely
      transparent. This property makes densely clustered points more visible.
  
  random_state : int, RandomState instance or None, optional (default None)
      This parameter sets the random state on this solver. If the input X is
      larger than 500x500 and the number of components to extract is lower
      than 80% of the smallest dimension of the data, then the more efficient
      `randomized` solver is enabled.
  
  colorbar : bool, default: True
      If the target_type is "continous" draw a colorbar to the right of the
      scatter plot. The colobar axes is accessible using the cax property.
  
  heatmap : bool, default: False
      Add a heatmap showing contribution of each feature in the principal components.
      Also draws a colorbar for readability purpose. The heatmap is accessible
      using lax property and colorbar using uax property.
  
  kwargs : dict
      Keyword arguments that are passed to the base class and may influence
      the visualization as defined in other Visualizers.
  
  Attributes
  ----------
  pca_components_ : ndarray, shape (n_features, n_components)
      This tells about the magnitude of each feature in the pricipal components.
      This is primarily used to draw the biplots.
  
  classes_ : ndarray, shape (n_classes,)
      The class labels that define the discrete values in the target. Only
      available if the target type is discrete. This is guaranteed to be
      strings even if the classes are a different type.
  
  features_ : ndarray, shape (n_features,)
      The names of the features discovered or used in the visualizer that
      can be used as an index to access or modify data in X. If a user passes
      feature names in, those features are used. Otherwise the columns of a
      DataFrame are used or just simply the indices of the data array.
  
  range_ : (min y, max y)
      A tuple that describes the minimum and maximum values in the target.
      Only available if the target type is continuous.
  
  Examples
  --------
  >>> from sklearn import datasets
  >>> iris = datasets.load_iris()
  >>> X = iris.data
  >>> y = iris.target
  >>> visualizer = PCA()
  >>> visualizer.fit_transform(X, y)
  >>> visualizer.show()
class_docstr_tok: ["Produce","a","two","or","three","dimensional","principal","component","plot","of","a","data","array","projected","onto","its","largest","sequential","principal","components",".","It","is","common","practice","to","scale","the","data","array","``","X","``","before","applying","a","PC","decomposition",".","Variable","scaling","can","be","controlled","using","the","``","scale","``","argument",".","Parameters","--","--","--","--","--","ax",":","matplotlib","Axes",",","default",":","None","The","axes","to","plot","the","figure","on",".","If","None","is","passed","in",",","the","current","axes","will","be","used","(","or","generated","if","required",")",".","features",":","list",",","default",":","None","The","names","of","the","features","specified","by","the","columns","of","the","input","dataset",".","This","length","of","this","list","must","match","the","number","of","columns","in","X",",","otherwise","an","exception","will","be","raised","on","``","fit","(",")","``",".","classes",":","list",",","default",":","None","The","class","labels","for","each","class","in","y",",","ordered","by","sorted","class","index",".","These","names","act","as","a","label","encoder","for","the","legend",",","identifying","integer","classes","or","renaming","string","labels",".","If","omitted",",","the","class","labels","will","be","taken","from","the","unique","values","in","y",".","Note","that","the","length","of","this","list","must","match","the","number","of","unique","values","in","y",",","otherwise","an","exception","is","raised",".","This","parameter","is","only","used","in","the","discrete","target","type","case","and","is","ignored","otherwise",".","scale",":","bool",",","default",":","True","Boolean","that","indicates","if","user","wants","to","scale","data",".","projection",":","int","or","string",",","default",":","2","The","number","of","axes","to","project","into",",","either","2d","or","3d",".","To","plot","3d","plots","with","matplotlib",",","please","ensure","a","3d","axes","is","passed","to","the","visualizer",",","otherwise","one","will","be","created","using","the","current","figure",".","proj_features",":","bool",",","default",":","False","Boolean","that","indicates","if","the","user","wants","to","project","the","features","in","the","projected","space",".","If","True","the","plot","will","be","similar","to","a","biplot",".","colors",":","list","or","tuple",",","default",":","None","A","single","color","to","plot","all","instances","as","or","a","list","of","colors","to","color","each","instance","according","to","its","class","in","the","discrete","case","or","as","an","ordered","colormap","in","the","sequential","case",".","If","not","enough","colors","per","class","are","specified","then","the","colors","are","treated","as","a","cycle",".","colormap",":","string","or","cmap",",","default",":","None","The","colormap","used","to","create","the","individual","colors",".","In","the","discrete","case","it","is","used","to","compute","the","number","of","colors","needed","for","each","class","and","in","the","continuous","case","it","is","used","to","create","a","sequential","color","map","based","on","the","range","of","the","target",".","alpha",":","float",",","default",":","0.75","Specify","a","transparency","where","1","is","completely","opaque","and","0","is","completely","transparent",".","This","property","makes","densely","clustered","points","more","visible",".","random_state",":","int",",","RandomState","instance","or","None",",","optional","(","default","None",")","This","parameter","sets","the","random","state","on","this","solver",".","If","the","input","X","is","larger","than","500x500","and","the","number","of","components","to","extract","is","lower","than","80","%","of","the","smallest","dimension","of","the","data",",","then","the","more","efficient","`","randomized","`","solver","is","enabled",".","colorbar",":","bool",",","default",":","True","If","the","target_type","is","``","continous","''","draw","a","colorbar","to","the","right","of","the","scatter","plot",".","The","colobar","axes","is","accessible","using","the","cax","property",".","heatmap",":","bool",",","default",":","False","Add","a","heatmap","showing","contribution","of","each","feature","in","the","principal","components",".","Also","draws","a","colorbar","for","readability","purpose",".","The","heatmap","is","accessible","using","lax","property","and","colorbar","using","uax","property",".","kwargs",":","dict","Keyword","arguments","that","are","passed","to","the","base","class","and","may","influence","the","visualization","as","defined","in","other","Visualizers",".","Attributes","--","--","--","--","--","pca_components_",":","ndarray",",","shape","(","n_features",",","n_components",")","This","tells","about","the","magnitude","of","each","feature","in","the","pricipal","components",".","This","is","primarily","used","to","draw","the","biplots",".","classes_",":","ndarray",",","shape","(","n_classes",",",")","The","class","labels","that","define","the","discrete","values","in","the","target",".","Only","available","if","the","target","type","is","discrete",".","This","is","guaranteed","to","be","strings","even","if","the","classes","are","a","different","type",".","features_",":","ndarray",",","shape","(","n_features",",",")","The","names","of","the","features","discovered","or","used","in","the","visualizer","that","can","be","used","as","an","index","to","access","or","modify","data","in","X",".","If","a","user","passes","feature","names","in",",","those","features","are","used",".","Otherwise","the","columns","of","a","DataFrame","are","used","or","just","simply","the","indices","of","the","data","array",".","range_",":","(","min","y",",","max","y",")","A","tuple","that","describes","the","minimum","and","maximum","values","in","the","target",".","Only","available","if","the","target","type","is","continuous",".","Examples","--","--","--","--",">",">",">","from","sklearn","import","datasets",">",">",">","iris","=","datasets.load_iris","(",")",">",">",">","X","=","iris.data",">",">",">","y","=","iris.target",">",">",">","visualizer","=","PCA","(",")",">",">",">","visualizer.fit_transform","(","X",",","y",")",">",">",">","visualizer.show","(",")"]
docstr: 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.
docstr_tok: ["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","."]
code: 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.
  
  
      """
      # Call super fit to compute features, classes, colors, etc.
      super(PCA, self).fit(X=X, y=y, **kwargs)
      self.pca_transformer.fit(X)
      self.pca_components_ = self.pca_transformer.named_steps[
          "pca"
      ].components_
      return self
  
imports: import numpy
  import matplotlib.pyplot
  from mpl_toolkits.axes_grid1 import make_axes_locatable
  from yellowbrick.style import palettes
  from yellowbrick.features.projection import ProjectionVisualizer
  from yellowbrick.exceptions import YellowbrickValueError, NotFitted
  from sklearn.pipeline import Pipeline
  from sklearn.decomposition import PCA
  from sklearn.preprocessing import StandardScaler
  from sklearn.exceptions import NotFittedError
label_desc: Use image node_id 7 for calling the PCA obj's underlying member method code with example usage: obj.fit(X, y) and returns: self