code: def plot_confusion_matrix(
      cm,
      classes,
      normalize=False,
      title="Confusion matrix",
      cmap=plt.cm.Blues,
  ):
      """
      This function prints and plots the confusion matrix.
      Normalization can be applied by setting `normalize=True`.
      """
      plt.imshow(cm, interpolation="nearest", cmap=cmap)
      plt.title(title)
      plt.colorbar()
      tick_marks = np.arange(len(classes))
      plt.xticks(tick_marks, classes, rotation=45)
      plt.yticks(tick_marks, classes)
  
      if normalize:
          cm = cm.astype("float") / cm.sum(axis=1)[:, np.newaxis]
          print("Normalized confusion matrix")
      else:
          print("Confusion matrix, without normalization")
  
      print(cm)
  
      thresh = cm.max() / 2.0
      for i, j in itertools.product(
          range(cm.shape[0]), range(cm.shape[1])
      ):
          plt.text(
              j,
              i,
              cm[i, j],
              horizontalalignment="center",
              color="white" if cm[i, j] > thresh else "black",
          )
  
      plt.tight_layout()
      plt.ylabel("True label")
      plt.xlabel("Predicted label")
  
imports: from .imports import *
  from subprocess import Popen
label_desc: Use image node_id 28 for calling a global function with example usage: plot_confusion_matrix(cm, classes, normalize, title, cmap) without return types