code: def plot_roc_auc(data: InputData, prediction: OutputData):
      """
      Function for drawing roc curve for classification task.
  
      :param data: the InputData with validation data
      :param prediction: prediction for data
      """
      if data.num_classes == 2 and prediction.predict.shape[1] != 2:
          fpr, tpr, threshold = ROCAUC.roc_curve(
              data.target, prediction.predict
          )
          roc_auc = ROCAUC.auc(fpr, tpr)
          plt.plot(fpr, tpr, "b", label="AUC = %0.2f" % roc_auc)
          plt.legend(loc="best")
      else:
          for i in range(data.num_classes):
              fpr, tpr, threshold = ROCAUC.roc_curve(
                  data.target,
                  prediction.predict[:, i],
                  pos_label=data.class_labels[i],
              )
              roc_auc = ROCAUC.auc(fpr, tpr)
              plt.plot(
                  fpr, tpr, label=f"label-{i} AUC = %0.2f" % roc_auc
              )
              plt.legend(loc="best")
      plt.plot([0, 1], [0, 1], "r--")
      plt.xlim([0, 1])
      plt.ylim([0, 1])
      plt.ylabel("True Positive Rate")
      plt.xlabel("False Positive Rate")
      plt.show()
  
file_path: FEDOT/fedot/core/data/visualisation.py
imports: from os import PathLike
  from typing import Optional, Any, Union
  import matplotlib.pyplot
  import numpy
  from fedot.core.composer.metrics import ROCAUC
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.data.multi_modal import MultiModalData
  from fedot.core.repository.dataset_types import DataTypesEnum
label_desc: Use image node_id 3 for calling a global function with example usage: plot_roc_auc(data, prediction) without return types