code: def roc_auc_per_class(y_true, y_pred) -> np.ndarray:
      """Receives predictions and true labels and returns the ROC AUC score for each class.
  
      Parameters
      ----------
      y_true : array-like of shape (n_samples, n_classes)
          The labels should be passed in a sequence of sequences, with the sequence for each sample being a binary vector,
          representing the presence of the i-th label in that sample (multi-label).
      y_pred : array-like of shape (n_samples, n_classes)
          Predicted label probabilities.
  
      Returns
      -------
      roc_auc : np.ndarray
          The ROC AUC score for each class.
      """
      # Convert multi label into single label
      assert_multi_label_shape(y_true)
      classes = range(y_true.shape[1])
      y_true = np.argmax(y_true, axis=1)
  
      return np.array(
          [
              roc_auc_score(y_true == class_name, y_pred[:, i])
              for i, class_name in enumerate(classes)
          ]
      )
  
file_path: deepchecks/deepchecks/tabular/metric_utils/additional_classification_metrics.py
imports: from typing import Union
  import numpy
  from sklearn.metrics import confusion_matrix, roc_auc_score
  from deepchecks.core.errors import DeepchecksValueError
  from deepchecks.utils.metrics import averaging_mechanism
label_desc: Use image node_id 13 for calling a global function with example usage: roc_auc_per_class(y_true, y_pred) and returns: np