code: def get_label_quality_scores_per_class(
      labels: List[List[int]],
      pred_probs: npt.NDArray["np.floating[T]"],
      *,
      method: str = "self_confidence",
      adjust_pred_probs: bool = False,
  ) -> np.ndarray:
      """
      Computes a quality score quantifying how likely each individual class annotation is correct in a multi-label classification dataset.
      This is similar to `~cleanlab.multilabel_classification.rank.get_label_quality_scores`
      but instead returns the per-class results without aggregation.
      For a dataset with K classes, each example receives K scores from this method.
      Refer to documentation in `~cleanlab.multilabel_classification.rank.get_label_quality_scores` for details.
  
      Parameters
      ----------
      labels : List[List[int]]
         List of noisy labels for multi-label classification where each example can belong to multiple classes.
         Refer to documentation for this argument in :py:func:`find_label_issues <cleanlab.multilabel_classification.filter.find_label_issues>` for further details.
  
      pred_probs : np.ndarray
        An array of shape ``(N, K)`` of model-predicted class probabilities.
        Refer to documentation for this argument in :py:func:`find_label_issues <cleanlab.multilabel_classification.filter.find_label_issues>` for further details.
  
      method : {"self_confidence", "normalized_margin", "confidence_weighted_entropy"}, default = "self_confidence"
        Method to calculate separate per-class annotation scores (that quantify how likely a particular class annotation is correct for a particular example).
        Refer to documentation for this argument in `~cleanlab.multilabel_classification.rank.get_label_quality_scores` for further details.
  
      adjust_pred_probs : bool, default = False
        Account for class imbalance in the label-quality scoring by adjusting predicted probabilities.
        Refer to documentation for this argument in :py:func:`rank.get_label_quality_scores <cleanlab.rank.get_label_quality_scores>` for details.
  
      Returns
      -------
      label_quality_scores : list(np.ndarray)
        A list containing K arrays, each of shape (N,). Here K is the number of classes in the dataset and N is the number of examples.
        ``label_quality_scores[k][i]`` is a score between 0 and 1 quantifying how likely the annotation for class ``k`` is correct for example ``i``.
  
      Examples
      --------
      >>> from cleanlab.multilabel_classification import get_label_quality_scores
      >>> import numpy as np
      >>> labels = [[1], [0,2]]
      >>> pred_probs = np.array([[0.1, 0.9, 0.1], [0.4, 0.1, 0.9]])
      >>> scores = get_label_quality_scores(labels, pred_probs)
      >>> scores
      array([0.9, 0.5])
      """
      binary_labels = _labels_to_binary(labels, pred_probs)
      scorer, base_scorer_kwargs = _create_multilabel_scorer(
          method=method,
          adjust_pred_probs=adjust_pred_probs,
      )
      return scorer.get_class_label_quality_scores(
          labels=binary_labels,
          pred_probs=pred_probs,
          base_scorer_kwargs=base_scorer_kwargs,
      )
  
file_path: cleanlab/cleanlab/multilabel_classification/rank.py
imports: from __future__ import annotations
  import numpy
  from typing import List, TypeVar, Dict, Any, Optional, Tuple, TYPE_CHECKING
  from cleanlab.internal.validation import assert_valid_inputs
  from cleanlab.internal.util import get_num_classes
  from cleanlab.internal.multilabel_utils import int2onehot
  from cleanlab.internal.multilabel_scorer import MultilabelScorer, ClassLabelScorer, Aggregator
label_desc: Use image node_id 4 for calling a global function with example usage: get_label_quality_scores_per_class(labels, pred_probs) and returns: scorer