class_docstr: Hyper Parameter Tuning
class_docstr_tok: ["Hyper","Parameter","Tuning"]
docstr: Add information of hyperparameter tuning to the report.
  
  Args:
      history(:dict of dict): a dict of training log dict.
          key: iteration index
          value: hyperparameter tuning information
                  Each dict has two keys:
                      - params: a dict of which key is the parameter name
                                and value is parameter value
                      - val_scores: a dict of which key is the metric name
                                   and value is metric value
      best_idx(str):
          - the best idx based on benchmark metric, corresponding the `history` dict key
      search_space(:dict): parameter name and the search space for each parameter
      benchmark_metric(:str): the metric used for benchmarking during hyperparameter tunning
      benchmark_threshold(:float, Optional): the benchmarking threshold to accept the training
      non_hyperopt_score(:float, Optional): the training metric without hyperparameter tuning
      notes(:str): text to explain the block
docstr_tok: ["Add","information","of","hyperparameter","tuning","to","the","report",".","Args",":","history","(",":","dict","of","dict",")",":","a","dict","of","training","log","dict",".","key",":","iteration","index","value",":","hyperparameter","tuning","information","Each","dict","has","two","keys",":","-","params",":","a","dict","of","which","key","is","the","parameter","name","and","value","is","parameter","value","-","val_scores",":","a","dict","of","which","key","is","the","metric","name","and","value","is","metric","value","best_idx","(","str",")",":","-","the","best","idx","based","on","benchmark","metric",",","corresponding","the","`","history","`","dict","key","search_space","(",":","dict",")",":","parameter","name","and","the","search","space","for","each","parameter","benchmark_metric","(",":","str",")",":","the","metric","used","for","benchmarking","during","hyperparameter","tunning","benchmark_threshold","(",":","float",",","Optional",")",":","the","benchmarking","threshold","to","accept","the","training","non_hyperopt_score","(",":","float",",","Optional",")",":","the","training","metric","without","hyperparameter","tuning","notes","(",":","str",")",":","text","to","explain","the","block"]
code: def __init__(
      self,
      history: dict,
      best_idx: str,
      search_space=None,
      benchmark_metric=None,
      benchmark_threshold=None,
      non_hyperopt_score=None,
      notes=None,
  ) -> None:
      """
      Add information of hyperparameter tuning to the report.
  
      Args:
          history(:dict of dict): a dict of training log dict.
              key: iteration index
              value: hyperparameter tuning information
                      Each dict has two keys:
                          - params: a dict of which key is the parameter name
                                    and value is parameter value
                          - val_scores: a dict of which key is the metric name
                                       and value is metric value
          best_idx(str):
              - the best idx based on benchmark metric, corresponding the `history` dict key
          search_space(:dict): parameter name and the search space for each parameter
          benchmark_metric(:str): the metric used for benchmarking during hyperparameter tunning
          benchmark_threshold(:float, Optional): the benchmarking threshold to accept the training
          non_hyperopt_score(:float, Optional): the training metric without hyperparameter tuning
          notes(:str): text to explain the block
      """
      super(HyperParameterTuning, self).__init__(
          history,
          best_idx,
          search_space,
          benchmark_metric,
          benchmark_threshold,
          non_hyperopt_score,
          notes,
      )
      self._history = history
      self._best_idx = best_idx
      self._search_space = search_space
      self._benchmark_metric = benchmark_metric
      self._benchmark_threshold = benchmark_threshold
      self._non_hyperopt_score = non_hyperopt_score
      self._notes = notes
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from xai.formatter.contents.base import Content
  from xai.formatter.writer.base import Writer
label_desc: Use image node_id 1 to create a new HyperParameterTuning object from inherited base classes: Content with example: obj = HyperParameterTuning(history, best_idx, search_space, benchmark_metric, benchmark_threshold, non_hyperopt_score, notes)