code: def roc_plot(actual, model_probs, model_names, figsize=(10, 10)):
      """
      Receiver Operating Characteristic Plot. Can plot multiple models.
      ----------
      actual: array of dataframe of true classes assignements.
          example:
          [1,1,0,1,0]
      model_probs: list of arrays
          a list containing classification probabilites for each model in order.
          example:
          model_probs = [class_probs_1, class_probs_2]
      model_names: list of strings
          a list containing names for each model in order.
          example:
          model_names = ["GBT", "Logistic Regression"]
      figsize: size of figure
      Returns:
      -------
          Receiver Operating Characteristic Plot with AUC in the legend.
      """
      model_names = make_listy(model_names)
      if not is_listy(model_probs):
          model_probs = [model_probs]
  
      if len(model_names) > 5:
          return ValueError("Can only compare 5 models or less.")
  
      colors = ["#ED2BFF", "#14E2C0", "#FF9F1C", "#5E2BFF", "#FC5FA3"]
  
      for m in range(len(model_names)):
          fpr, tpr, _ = roc_curve(actual, model_probs[m])
          roc_auc = auc(fpr, tpr)
          ax = sns.lineplot(
              x=fpr,
              y=tpr,
              lw=2,
              color=colors[m],
              label=model_names[m] + " AUC = %0.4f" % roc_auc,
          )
  
      ax.plot([0, 1], [0, 1], "r--")
      ax.set_title("Receiver Operating Characteristic Plot")
      ax.set_ylabel("True Positive Rate")
      ax.set_xlabel("False Positive Rate")
  
      plt.show()
  
imports: import matplotlib.pyplot
  import numpy
  import pandas
  import plotly.graph_objects
  import seaborn
  from funcsigs import signature
  from matplotlib.lines import Line2D
  from sklearn.metrics import auc, average_precision_score, precision_recall_curve, roc_curve
label_desc: Use image node_id 8 for calling a global function with example usage: roc_plot(actual, model_probs, model_names, figsize) and returns: ValueError