code: def test_find_issues(self, issue_manager, make_data):
      data = make_data(noisy=True)
      features, labels, pred_probs = (
          data["features"],
          data["labels"],
          data["pred_probs"],
      )
      N = len(labels)
      issue_manager.find_issues(
          features=features, pred_probs=pred_probs
      )
      issues, summary = issue_manager.issues, issue_manager.summary
      assert np.sum(issues["is_underperforming_group_issue"]) == 100
      expected_issue_mask = np.zeros(N, bool)
      expected_issue_mask[labels == 0] = True
      assert np.all(
          issues["is_underperforming_group_issue"]
          == expected_issue_mask
      ), "Issue mask should be correct"
      expected_loss_ratio = 0.1428
      expected_scores = np.ones(N)
      expected_scores[labels == 0] = expected_loss_ratio
      np.testing.assert_allclose(
          issues["underperforming_group_score"],
          expected_scores,
          err_msg="Scores should be correct",
          rtol=1e-3,
      )
      assert summary["issue_type"][0] == "underperforming_group"
      assert summary["score"][0] == pytest.approx(
          expected_loss_ratio, rel=1e-3
      )
      # Check with cluster_ids param
      issue_manager.find_issues(
          features=features, pred_probs=pred_probs, cluster_ids=labels
      )
      issues_with_clabels, summary_with_clabels = (
          issue_manager.issues,
          issue_manager.summary,
      )
      pd.testing.assert_frame_equal(issues_with_clabels, issues)
      pd.testing.assert_frame_equal(summary_with_clabels, summary)
      # With shifted cluster_ids
      issue_manager.find_issues(
          features=features,
          pred_probs=pred_probs,
          cluster_ids=labels + 10,
      )
      issues_with_clabels, summary_with_clabels = (
          issue_manager.issues,
          issue_manager.summary,
      )
      pd.testing.assert_frame_equal(issues_with_clabels, issues)
      pd.testing.assert_frame_equal(summary_with_clabels, summary)
  
file_path: cleanlab/tests/datalab/issue_manager/test_underperforming_group.py
imports: import numpy
  import pytest
  import pandas
  import scipy.sparse
  from cleanlab.datalab.internal.issue_manager.underperforming_group import UnderperformingGroupIssueManager
  from sklearn.datasets import make_blobs, load_iris
label_desc: Use image node_id 6 for calling the TestUnderperformingGroupIssueManager obj's underlying member method code with example usage: obj.test_find_issues(issue_manager, make_data) without return types