code: def test_evaluate_instances_multilabel():
      # Note: no "a" because it would get filtered out by normalize_text()
      metric = ClassificationMetric(delimiter=",")
  
      def _options(correct: List[str]):
          return [
              _Option(text, text in correct) for text in ["d", "b", "c"]
          ]
  
      request_states = [
          _request_state("d,b", _options(["d", "b"])),
          _request_state("d,b", _options(["d", "c"])),
          _request_state("d", _options(["d"])),
          _request_state("c", _options(["b"])),
          _request_state("b", _options(["b", "c"])),
          _request_state("d,b", _options(["c"])),
          _request_state("d,c", _options(["d"])),
          _request_state("d,b,c", _options(["d", "b", "c"])),
          _request_state("", []),
          _request_state("n/a", []),
          _request_state("invalid", _options(["c"])),
      ]
  
      assert_stats_equal(
          metric.evaluate_instances(request_states),
          _expected_stats(
              {
                  "d": {"tp": 5, "fp": 1, "tn": 5, "fn": 0},
                  "b": {"tp": 3, "fp": 2, "tn": 5, "fn": 1},
                  "c": {"tp": 1, "fp": 2, "tn": 4, "fn": 4},
              }
          ),
      )
  
file_path: H2O/h2o_hf/helm/src/helm/benchmark/metrics/test_classification_metrics.py
imports: from collections import defaultdict
  from typing import Dict, List, NamedTuple
  from pytest import approx
  from helm.benchmark.adaptation.request_state import RequestState
  from helm.benchmark.metrics.classification_metrics import ClassificationMetric
  from helm.benchmark.metrics.statistic import Stat
  from helm.benchmark.scenarios.scenario import Input, Instance, Output, Reference, CORRECT_TAG
  from helm.common.request import Request, RequestResult, Sequence
label_desc: Use image node_id 6 for calling a global function with example usage: test_evaluate_instances_multilabel() and returns: unknown