class_docstr: The Strategy interface declares operations common to all
  supported report output.
class_docstr_tok: ["The","Strategy","interface","declares","operations","common","to","all","supported","report","output","."]
docstr: Add information of hyperparameter tuning to the report.
  
  Args:
      notes(str): Explain the block
      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 tuning
      benchmark_threshold(:float, Optional): the benchmarking threshold to accept the training
      non_hyperopt_score(:float, Optional): the training metric without hyperparameter tuning
docstr_tok: ["Add","information","of","hyperparameter","tuning","to","the","report",".","Args",":","notes","(","str",")",":","Explain","the","block","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","tuning","benchmark_threshold","(",":","float",",","Optional",")",":","the","benchmarking","threshold","to","accept","the","training","non_hyperopt_score","(",":","float",",","Optional",")",":","the","training","metric","without","hyperparameter","tuning"]
code: def draw_hyperparameter_tuning(
      self,
      notes: str,
      *,
      history: dict,
      best_idx: str,
      search_space=None,
      benchmark_metric=None,
      benchmark_threshold=None,
      non_hyperopt_score=None,
  ):
      """
      Add information of hyperparameter tuning to the report.
  
      Args:
          notes(str): Explain the block
          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 tuning
          benchmark_threshold(:float, Optional): the benchmarking threshold to accept the training
          non_hyperopt_score(:float, Optional): the training metric without hyperparameter tuning
      """
      pass
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from abc import ABC, abstractmethod
  from typing import Tuple, Dict, List
  import numpy
  from xai.data import explorer
  from xai.formatter.report.section import OverviewSection, DetailSection
label_desc: Use image node_id 26 for calling the Writer obj's underlying member method code with example usage: obj.draw_hyperparameter_tuning(notes) without return types