class_docstr: Class for ResultCompiler
docstr: Initialize class for result
  
  Args:
      labels: list of str, list of labels
      metric_list: list of enum, list of required metric
code: def __init__(self, labels: List, metric_list: List = None):
      """
      Initialize class for result
  
      Args:
          labels: list of str, list of labels
          metric_list: list of enum, list of required metric
      """
      self.labels = labels
      if metric_list is None:
          self.metric_list = [
              METRIC_ACCURACY,
              METRIC_PRECISION,
              METRIC_RECALL,
              METRIC_F1,
              METRIC_CM,
              METRIC_AUC,
          ]
      else:
          self.metric_list = metric_list
      self.metric_scores_ = dict()
      self.conf = None
  
file_path: contextual-ai/xai/model/evaluation/result_compiler.py
imports: from typing import List
  import numpy
  from sklearn.metrics import roc_auc_score, accuracy_score
  from sklearn.metrics.classification import precision_recall_fscore_support, confusion_matrix
  from xai.constants import METRIC_CM, METRIC_ACCURACY, METRIC_AUC, METRIC_F1, METRIC_RECALL, METRIC_PRECISION
  from xai.model.evaluation.binary_classification_result import BinaryClassificationResult
  from xai.model.evaluation.multi_classification_result import MultiClassificationResult
label_desc: Use image node_id 1 to create a new ResultCompiler object  with example: obj = ResultCompiler(labels, metric_list)