class_docstr: Class that is responsible for learning models and computing their metrics
class_docstr_tok: ["Class","that","is","responsible","for","learning","models","and","computing","their","metrics"]
docstr: Args:
      :param remove_models: Set true if you want models to be removed after applying them.
docstr_tok: ["Args",":",":","param","remove_models",":","Set","true","if","you","want","models","to","be","removed","after","applying","them","."]
code: def __init__(
      self, metrics, cases, thread_count, eval_step, remove_models
  ):
      """
      Args:
          :param remove_models: Set true if you want models to be removed after applying them.
  
      """
      self._cases = cases
      self._metrics = metrics
  
      self._case_results = dict()
      for case in self._cases:
          self._case_results[case] = dict()
  
      self._thread_count = thread_count
      self._eval_step = eval_step
      self._flag_remove_models = remove_models
      self._metric_descriptions = None
  
imports: from __future__ import print_function
  import os
  import time
  from ..None import CatBoostError
  from ..eval.log_config import get_eval_logger
  from ..eval.utils import make_dirs_if_not_exists
  from ..eval.evaluation_result import CaseEvaluationResult
  from ._fold_model import FoldModel
label_desc: Use image node_id 2 to create a new FoldModelsHandler object from inherited base classes: object with example: obj = FoldModelsHandler(metrics, cases, thread_count, eval_step, remove_models)