class_docstr: Pipeline of transforms and visualizers with a final estimator.
  
  Sequentially apply a list of transforms, visualizers, and a final
  estimator which may be evaluated by additional visualizers.
  Intermediate steps of the pipeline must be 'transforms', that is, they
  must implement fit and transform methods.
  The final estimator only needs to implement fit.
  
  Any step that implements draw or show methods can be called sequentially
  directly from the VisualPipeline, allowing multiple visual diagnostics to
  be generated, displayed, and saved on demand.
  If draw or show is not called, the visual pipeline should be equivalent to
  the simple pipeline to ensure no reduction in performance.
  
  The purpose of the pipeline is to assemble several steps that can be
  cross-validated together while setting different parameters. These steps
  can be visually diagnosed by visualizers at every point in the pipeline.
  
  Parameters
  ----------
  steps : list
      List of (name, transform) tuples (implementing fit/transform) that are
      chained, in the order in which they are chained, with the last object
      an estimator. Any intermediate step can be a FeatureVisualizer and the
      last step can be a ScoreVisualizer.
  
  Attributes
  ----------
  named_steps : dict
      Read-only attribute to access any step parameter by user given name.
      Keys are step names and values are step parameters.
  
  visual_steps : dict
      Read-only attribute to access any visualizer in he pipeline by user
      given name. Keys are step names and values are visualizer steps.
code: def visual_steps(self):
      return dict(
          step for step in self.steps if isinstance(step[1], Visualizer)
      )
  
file_path: yellowbrick/yellowbrick/pipeline.py
imports: from os import path
  from .base import Visualizer
  from .utils.helpers import slugify
  from sklearn.pipeline import Pipeline
label_desc: Use image node_id 1 for calling the VisualPipeline obj's underlying member method code with example usage: obj.visual_steps() and returns: dict