class_docstr: Defines metrics for multi-class classification using the generation adapter.
  
  Currently provides `classification_macro_f1` and `classification_micro_f1`.
  These are population-level F1 measures to measure classification performance where each
  generation is a predicted class, and are different from the instance-level F1 measures
  in `BasicMetrics` that are intended to measure word overlap between the correct references
  and generations. The correct class should be provided by the normalized text of a correct
  reference. The predicted class for each instance is the normalized text of the generation.
  
  Note:
  - The set of classes is derived from the correct references from all the instances.
    This means that classes may be omitted if they are never used as a correct reference.
  - Generations that are not in any of the known classes are counted as a
    negative prediction for every class.
  - Perturbed classes are considered different classes from unperturbed
    classes.
  - Currently, multi-label classification is not supported.
class_docstr_tok: ["Defines","metrics","for","multi-class","classification","using","the","generation","adapter",".","Currently","provides","`","classification_macro_f1","`","and","`","classification_micro_f1","`",".","These","are","population-level","F1","measures","to","measure","classification","performance","where","each","generation","is","a","predicted","class",",","and","are","different","from","the","instance-level","F1","measures","in","`","BasicMetrics","`","that","are","intended","to","measure","word","overlap","between","the","correct","references","and","generations",".","The","correct","class","should","be","provided","by","the","normalized","text","of","a","correct","reference",".","The","predicted","class","for","each","instance","is","the","normalized","text","of","the","generation",".","Note",":","-","The","set","of","classes","is","derived","from","the","correct","references","from","all","the","instances",".","This","means","that","classes","may","be","omitted","if","they","are","never","used","as","a","correct","reference",".","-","Generations","that","are","not","in","any","of","the","known","classes","are","counted","as","a","negative","prediction","for","every","class",".","-","Perturbed","classes","are","considered","different","classes","from","unperturbed","classes",".","-","Currently",",","multi-label","classification","is","not","supported","."]
code: def is_multi_label(self) -> bool:
      return bool(self.delimiter)
  
file_path: H2O/h2o_hf/helm/src/helm/benchmark/metrics/classification_metrics.py
imports: from typing import List, Optional
  from sklearn.metrics import f1_score
  from sklearn.preprocessing import MultiLabelBinarizer
  from helm.benchmark.adaptation.request_state import RequestState
  from helm.benchmark.metrics.basic_metrics import normalize_text
  from helm.benchmark.metrics.metric import Metric, MetricName
  from helm.benchmark.metrics.statistic import Stat
label_desc: Use image node_id 2 for calling the ClassificationMetric obj's underlying member method code with example usage: obj.is_multi_label() and returns: bool