docs: def confusion_matrix(model, X, y, ax=None, classes=None, sample_weight=None,
                       percent=False, label_encoder=None, cmap='YlOrRd',
                       fontsize=None, random_state=None, **kwargs):
      """Quick method:
  
      Creates a heatmap visualization of the sklearn.metrics.confusion_matrix().
      A confusion matrix shows each combination of the true and predicted
      classes for a test data set.
  
      The default color map uses a yellow/orange/red color scale. The user can
      choose between displaying values as the percent of true (cell value
      divided by sum of row) or as direct counts. If percent of true mode is
      selected, 100% accurate predictions are highlighted in green.
  
      Requires a classification model.
  
      Parameters
      ----------
      model : estimator
          Must be a classifier, otherwise raises YellowbrickTypeError
  
      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.
  
      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).
  
      sample_weight: array-like of shape = [n_samples], optional
          Passed to ``confusion_matrix`` to weight the samples.
  
      percent: bool, default: False
          Determines whether or not the confusion_matrix is displayed as counts
          or as a percent of true predictions. Note, if specifying a subset of
          classes, percent should be set to False or inaccurate figures will be
          displayed.
  
      classes : list, default: None
          a list of class names to use in the confusion_matrix.
          This is passed to the ``labels`` parameter of
          ``sklearn.metrics.confusion_matrix()``, and follows the behaviour
          indicated by that function. It may be used to reorder or select a
          subset of labels. If None, classes that appear at least once in
          ``y_true`` or ``y_pred`` are used in sorted order.
  
      label_encoder : dict or LabelEncoder, default: None
          When specifying the ``classes`` argument, the input to ``fit()``
          and ``score()`` must match the expected labels. If the ``X`` and ``y``
          datasets have been encoded prior to training and the labels must be
          preserved for the visualization, use this argument to provide a
          mapping from the encoded class to the correct label. Because typically
          a Scikit-Learn ``LabelEncoder`` is used to perform this operation, you
          may provide it directly to the class to utilize its fitted encoding.
  
      cmap : string, default: ``'YlOrRd'``
          Specify a colormap to define the heatmap of the predicted class
          against the actual class in the confusion matrix.
  
      fontsize : int, default: None
          Specify the fontsize of the text in the grid and labels to make the
          matrix a bit easier to read. Uses rcParams font size by default.
  
      random_state : int, RandomState instance or None, optional (default=None)
          Passes a random state parameter to the train_test_split function.
  
      Returns
      -------
      ax : matplotlib axes
          Returns the axes that the classification report was drawn on.
      """
      # Instantiate the visualizer
      visualizer = ConfusionMatrix(
          model, ax, classes, sample_weight, percent,
          label_encoder, cmap, fontsize, **kwargs
      )
  
      # Create the train and test splits
      # TODO: determine how to use quick methods that require train and test data.
      X_train, X_test, y_train, y_test = train_test_split(
          X, y, test_size=0.2, random_state=random_state
      )
  
      # Fit and transform the visualizer (calls draw)
      visualizer.fit(X_train, y_train, **kwargs)
      visualizer.score(X_test, y_test)
  
      # Return the axes object on the visualizer
      return visualizer.ax