class_docstr: Manages label issues in a Datalab.
  
  Parameters
  ----------
  datalab :
      A Datalab instance.
  
  k :
      The number of nearest neighbors to consider when computing pred_probs from features.
      Only applicable if features are provided and pred_probs are not.
  
  clean_learning_kwargs :
      Keyword arguments to pass to the :py:meth:`CleanLearning <cleanlab.classification.CleanLearning>` constructor.
  
  health_summary_parameters :
      Keyword arguments to pass to the :py:meth:`health_summary <cleanlab.dataset.health_summary>` function.
class_docstr_tok: ["Manages","label","issues","in","a","Datalab",".","Parameters","--","--","--","--","--","datalab",":","A","Datalab","instance",".","k",":","The","number","of","nearest","neighbors","to","consider","when","computing","pred_probs","from","features",".","Only","applicable","if","features","are","provided","and","pred_probs","are","not",".","clean_learning_kwargs",":","Keyword","arguments","to","pass","to","the",":","py",":","meth",":","`","CleanLearning","<","cleanlab.classification.CleanLearning",">","`","constructor",".","health_summary_parameters",":","Keyword","arguments","to","pass","to","the",":","py",":","meth",":","`","health_summary","<","cleanlab.dataset.health_summary",">","`","function","."]
code: def collect_info(
      self, issues: pd.DataFrame, summary_dict: dict
  ) -> dict:
      issues_info = {
          "num_label_issues": sum(
              issues[f"is_{self.issue_name}_issue"]
          ),
          "average_label_quality": issues[self.issue_score_key].mean(),
          "given_label": issues["given_label"].tolist(),
          "predicted_label": issues["predicted_label"].tolist(),
      }
  
      health_summary_info = {
          "confident_joint": summary_dict["joint"],
          "classes_by_label_quality": summary_dict[
              "classes_by_label_quality"
          ],
          "overlapping_classes": summary_dict["overlapping_classes"],
      }
  
      cl_info = {}
      for k in self.cl.__dict__:
          if k not in [
              "py",
              "noise_matrix",
              "inverse_noise_matrix",
              "confident_joint",
          ]:
              continue
          cl_info[k] = self.cl.__dict__[k]
  
      info_dict = {
          **issues_info,
          **health_summary_info,
          **cl_info,
      }
  
      return info_dict
  
file_path: cleanlab/cleanlab/datalab/internal/issue_manager/label.py
imports: from __future__ import annotations
  from typing import TYPE_CHECKING, Any, ClassVar, Dict, Optional
  from sklearn.neighbors import KNeighborsClassifier
  from sklearn.preprocessing import OneHotEncoder
  import numpy
  from cleanlab.classification import CleanLearning
  from cleanlab.datalab.internal.issue_manager import IssueManager
  from cleanlab.internal.validation import assert_valid_inputs
label_desc: Use image node_id 7 for calling the LabelIssueManager obj's underlying member method code with example usage: obj.collect_info(issues, summary_dict) and returns: info_dict