class_docstr: The base class for classification problem result.
class_docstr_tok: ["The","base","class","for","classification","problem","result","."]
docstr: update the result based on metric name and class label (for each class)
  Args:
      metric (str): metric name, e.g. `accuracy`, `recall`
      label (str): class label name
      value (float): metric value
  
  Returns:
docstr_tok: ["update","the","result","based","on","metric","name","and","class","label","(","for","each","class",")","Args",":","metric","(","str",")",":","metric","name",",","e.g",".","`","accuracy","`",",","`","recall","`","label","(","str",")",":","class","label","name","value","(","float",")",":","metric","value","Returns",":"]
code: def update_result(self, metric: str, label: str, value: float):
      """
      update the result based on metric name and class label (for each class)
      Args:
          metric (str): metric name, e.g. `accuracy`, `recall`
          label (str): class label name
          value (float): metric value
  
      Returns:
  
      """
      if metric not in self.resultdict.keys():
          self.resultdict[metric] = dict()
          self.metric_set.add(metric)
      self.resultdict[metric][label] = value
      self.label_set.add(label)
  
file_path: contextual-ai/xai/model/evaluation/basic_result.py
imports: from abc import ABC, abstractmethod
  from typing import Tuple, List
  from ordered_set import OrderedSet
label_desc: Use image node_id 2 for calling the ClassificationResult obj's underlying member method code with example usage: obj.update_result(metric, label, value) without return types