class_docstr: Aggregates label quality scores across different classes to produce one score per example in multi-label classification tasks.
  
  Parameters
  ----------
  base_scorer:
      The method to compute the label quality scores for each class.
  
      See the documentation for the ClassLabelScorer enum for more details.
  
  aggregator:
      The method to aggregate the label quality scores for each class into a single score for each datapoint.
  
      Defaults to the EMA (exponential moving average) aggregator with forgetting factor ``alpha=0.8``.
  
      See the documentation for the Aggregator class for more details.
  
      See also
      --------
      exponential_moving_average
  
  strict:
      Flag for performing strict validation of the input data.
class_docstr_tok: ["Aggregates","label","quality","scores","across","different","classes","to","produce","one","score","per","example","in","multi-label","classification","tasks",".","Parameters","--","--","--","--","--","base_scorer",":","The","method","to","compute","the","label","quality","scores","for","each","class",".","See","the","documentation","for","the","ClassLabelScorer","enum","for","more","details",".","aggregator",":","The","method","to","aggregate","the","label","quality","scores","for","each","class","into","a","single","score","for","each","datapoint",".","Defaults","to","the","EMA","(","exponential","moving","average",")","aggregator","with","forgetting","factor","``","alpha=0.8","``",".","See","the","documentation","for","the","Aggregator","class","for","more","details",".","See","also","--","--","--","--","exponential_moving_average","strict",":","Flag","for","performing","strict","validation","of","the","input","data","."]
docstr: Checks that (multi-)labels are in the proper binary indicator format and that
  they are compatible with the predicted probabilities.
docstr_tok: ["Checks","that","(","multi-",")","labels","are","in","the","proper","binary","indicator","format","and","that","they","are","compatible","with","the","predicted","probabilities","."]
code: def _validate_labels_and_pred_probs(
      labels: np.ndarray, pred_probs: np.ndarray
  ) -> None:
      """
      Checks that (multi-)labels are in the proper binary indicator format and that
      they are compatible with the predicted probabilities.
      """
      # Only allow dense matrices for labels for now
      if not isinstance(labels, np.ndarray):
          raise TypeError("Labels must be a numpy array.")
      if not _is_multilabel(labels):
          raise ValueError("Labels must be in multi-label format.")
      if labels.shape != pred_probs.shape:
          raise ValueError(
              "Labels and predicted probabilities must have the same shape."
          )
  
imports: from enum import Enum
  from typing import Callable, Dict, Optional, Union
  import numpy
  from sklearn.model_selection import cross_val_predict
  from cleanlab.internal.multilabel_utils import _is_multilabel, stack_complement
  from cleanlab.internal.label_quality_utils import _subtract_confident_thresholds
  from cleanlab.internal.numerics import softmax
  from cleanlab.rank import get_self_confidence_for_each_label, get_normalized_margin_for_each_label, get_confidence_weighted_entropy_for_each_label
label_desc: Use image node_id 5 for calling the MultilabelScorer obj's underlying member method code with example usage: obj._validate_labels_and_pred_probs(labels, pred_probs) without return types