code: def overall_label_health_score(
      labels=None,
      pred_probs=None,
      *,
      num_examples=None,
      confident_joint=None,
      joint=None,
      multi_label=False,
      verbose=True,
  ) -> float:
      """Returns a single score between 0 and 1 measuring the overall quality of all labels in a dataset.
      Intuitively, the score is the average correctness of the given labels across all examples in the
      dataset. So a score of 1 suggests your data is perfectly labeled and a score of 0.5 suggests
      half of the examples in the dataset may be incorrectly labeled. Thus, a higher
      score implies a higher quality dataset.
  
      This method works by providing any one (and only one) of the following inputs:
  
      1. ``labels`` and ``pred_probs``, or
      2. ``joint`` and ``num_examples``, or
      3. ``confident_joint``
  
      Only provide **exactly one of the above input options**, do not provide a combination.
  
      Examples
      --------
      >>> from cleanlab.dataset import overall_label_health_score
      >>> from sklearn.linear_model import LogisticRegression
      >>> from sklearn.model_selection import cross_val_predict
      >>> data, labels = get_data_labels_from_dataset()
      >>> yourFavoriteModel = LogisticRegression()
      >>> pred_probs = cross_val_predict(yourFavoriteModel, data, labels, cv=3, method="predict_proba")
      >>> score = overall_label_health_score(labels=labels, pred_probs=pred_probs)  # doctest: +SKIP
  
      **Parameters**: For parameter info, see the docstring of `~cleanlab.dataset.find_overlapping_classes`.
  
  
      Returns
      -------
      health_score : float
          A score between 0 and 1, where 1 implies all labels in the dataset are estimated to be correct.
          A score of 0.5 implies that half of the dataset's labels are estimated to have issues.
      """
      if multi_label:
          raise ValueError(
              "For multilabel data, please instead call: multilabel_classification.dataset.overall_multilabel_health_score()"
          )
      if num_examples is None:
          num_examples = _get_num_examples(
              labels=labels, confident_joint=confident_joint
          )
  
      if pred_probs is None or labels is None:
          if joint is None:
              joint = estimate_joint(
                  labels=labels,
                  pred_probs=pred_probs,
                  confident_joint=confident_joint,
              )
          joint_trace = joint.trace()
          num_issues = (
              (num_examples * (1 - joint_trace)).round().astype(int)
          )
          health_score = joint_trace
      else:
          num_issues = num_label_issues(
              labels=labels,
              pred_probs=pred_probs,
              confident_joint=confident_joint,
          )
          health_score = 1 - num_issues / num_examples
  
      if verbose:
          print(
              f" * Overall, about {(1 - health_score):.0%} ({num_issues:,} of the {num_examples:,}) "
              f"labels in your dataset have potential issues.\n"
              f" ** The overall label health score for this dataset is: {health_score:.2f}."
          )
      return health_score
  
file_path: cleanlab/cleanlab/dataset.py
imports: from typing import Optional, cast
  import numpy
  import pandas
  from cleanlab.count import estimate_joint, num_label_issues
label_desc: Use image node_id 3 for calling a global function with example usage: overall_label_health_score(labels, pred_probs) and returns: health_score