code: def visualize(
      clf_name,
      X_train,
      y_train,
      X_test,
      y_test,
      y_train_pred,
      y_test_pred,
      show_figure=True,
      save_figure=False,
  ):  # pragma: no cover
      """Utility function for visualizing the results in examples.
      Internal use only.
  
      Parameters
      ----------
      clf_name : str
          The name of the detector.
  
      X_train : numpy array of shape (n_samples, n_features)
          The training samples.
  
      y_train : list or array of shape (n_samples,)
          The ground truth of training samples.
  
      X_test : numpy array of shape (n_samples, n_features)
          The test samples.
  
      y_test : list or array of shape (n_samples,)
          The ground truth of test samples.
  
      y_train_pred : numpy array of shape (n_samples, n_features)
          The predicted binary labels of the training samples.
  
      y_test_pred : numpy array of shape (n_samples, n_features)
          The predicted binary labels of the test samples.
  
      show_figure : bool, optional (default=True)
          If set to True, show the figure.
  
      save_figure : bool, optional (default=False)
          If set to True, save the figure to the local.
  
      """
  
      def _add_sub_plot(
          X_inliers,
          X_outliers,
          sub_plot_title,
          inlier_color="blue",
          outlier_color="orange",
      ):
          """Internal method to add subplot of inliers and outliers.
  
          Parameters
          ----------
          X_inliers : numpy array of shape (n_samples, n_features)
              Outliers.
  
          X_outliers : numpy array of shape (n_samples, n_features)
              Inliers.
  
          sub_plot_title : str
              Subplot title.
  
          inlier_color : str, optional (default='blue')
              The color of inliers.
  
          outlier_color : str, optional (default='orange')
              The color of outliers.
  
          """
          plt.axis("equal")
          plt.scatter(
              X_inliers[:, 0],
              X_inliers[:, 1],
              label="inliers",
              color=inlier_color,
              s=40,
          )
          plt.scatter(
              X_outliers[:, 0],
              X_outliers[:, 1],
              label="outliers",
              color=outlier_color,
              s=50,
              marker="^",
          )
          plt.title(sub_plot_title, fontsize=15)
          plt.xticks([])
          plt.yticks([])
          plt.legend(loc=3, prop={"size": 10})
  
      # check input data shapes are consistent
      (
          X_train,
          y_train,
          X_test,
          y_test,
          y_train_pred,
          y_test_pred,
      ) = check_consistent_shape(
          X_train, y_train, X_test, y_test, y_train_pred, y_test_pred
      )
  
      if X_train.shape[1] != 2:
          raise ValueError(
              "Input data has to be 2-d for visualization. The "
              "input data has {shape}.".format(shape=X_train.shape)
          )
  
      X_train_outliers, X_train_inliers = get_outliers_inliers(
          X_train, y_train
      )
      (
          X_train_outliers_pred,
          X_train_inliers_pred,
      ) = get_outliers_inliers(X_train, y_train_pred)
  
      X_test_outliers, X_test_inliers = get_outliers_inliers(
          X_test, y_test
      )
      X_test_outliers_pred, X_test_inliers_pred = get_outliers_inliers(
          X_test, y_test_pred
      )
  
      # plot ground truth vs. predicted results
      fig = plt.figure(figsize=(12, 10))
      plt.suptitle(
          "Demo of {clf_name} Detector".format(clf_name=clf_name),
          fontsize=15,
      )
  
      fig.add_subplot(221)
      _add_sub_plot(
          X_train_inliers,
          X_train_outliers,
          "Train Set Ground Truth",
          inlier_color="blue",
          outlier_color="orange",
      )
  
      fig.add_subplot(222)
      _add_sub_plot(
          X_train_inliers_pred,
          X_train_outliers_pred,
          "Train Set Prediction",
          inlier_color="blue",
          outlier_color="orange",
      )
  
      fig.add_subplot(223)
      _add_sub_plot(
          X_test_inliers,
          X_test_outliers,
          "Test Set Ground Truth",
          inlier_color="green",
          outlier_color="red",
      )
  
      fig.add_subplot(224)
      _add_sub_plot(
          X_test_inliers_pred,
          X_test_outliers_pred,
          "Test Set Prediction",
          inlier_color="green",
          outlier_color="red",
      )
  
      if save_figure:
          plt.savefig(
              "{clf_name}.png".format(clf_name=clf_name), dpi=300
          )
  
      if show_figure:
          plt.show()
  
imports: from __future__ import division
  from __future__ import print_function
  import matplotlib.pyplot
  from .data import check_consistent_shape
  from .data import get_outliers_inliers
label_desc: Use image node_id 1 for calling a global function with example usage: visualize(clf_name, X_train, y_train, X_test, y_test, y_train_pred, y_test_pred, show_figure, save_figure) without return types