code: def plot_confusion_matrix(
      cm, classes, normalize=True, cmap=plt.cm.Blues
  ):
      """plots confusion matrix"""
      if normalize:
          cm = cm.astype("float") / cm.sum(axis=1)[:, np.newaxis]
      plt.imshow(cm, interpolation="nearest", cmap=cmap)
      plt.colorbar()
      tick_marks = np.arange(len(classes))
      plt.xticks(tick_marks, classes, rotation=45)
      plt.yticks(tick_marks, classes)
      fmt = ".2f" if normalize else "d"
      thresh = cm.max() / 2.0
      for i, j in itertools.product(
          range(cm.shape[0]), range(cm.shape[1])
      ):
          plt.text(
              j,
              i,
              format(cm[i, j], fmt),
              horizontalalignment="center",
              color="white" if cm[i, j] > thresh else "black",
          )
  
      plt.ylabel("True label")
      plt.xlabel("Predicted label")
      plt.tight_layout()
  
file_path: seglearn/examples/plot_scoring.py
imports: import itertools
  import matplotlib.pyplot
  import numpy
  import pandas
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.metrics import f1_score, confusion_matrix, make_scorer
  from sklearn.model_selection import train_test_split, cross_validate
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import StandardScaler
  from seglearn.datasets import load_watch
  from seglearn.pipe import Pype
  from seglearn.transform import FeatureRep, Segment
label_desc: Use image node_id 1 for calling a global function with example usage: plot_confusion_matrix(cm, classes, normalize, cmap) without return types