class_docstr: Internal record evaluation callable class.
class_docstr_tok: ["Internal","record","evaluation","callable","class","."]
code: def _init(self, env: CallbackEnv) -> None:
      if env.evaluation_result_list is None:
          raise RuntimeError(
              "record_evaluation() callback enabled but no evaluation results found. This is a probably bug in LightGBM. "
              "Please report it at https://github.com/microsoft/LightGBM/issues"
          )
      self.eval_result.clear()
      for item in env.evaluation_result_list:
          if len(item) == 4:  # regular train
              data_name, eval_name = item[:2]
          else:  # cv
              data_name, eval_name = item[1].split()
          self.eval_result.setdefault(data_name, OrderedDict())
          if len(item) == 4:
              self.eval_result[data_name].setdefault(eval_name, [])
          else:
              self.eval_result[data_name].setdefault(
                  f"{eval_name}-mean", []
              )
              self.eval_result[data_name].setdefault(
                  f"{eval_name}-stdv", []
              )
  
imports: from collections import OrderedDict
  from dataclasses import dataclass
  from functools import partial
  from typing import TYPE_CHECKING, Any, Callable, Dict, List, Optional, Union
  from .basic import Booster, _ConfigAliases, _LGBM_BoosterEvalMethodResultType, _LGBM_BoosterEvalMethodResultWithStandardDeviationType, _log_info, _log_warning
label_desc: Use image node_id 2 for calling the _RecordEvaluationCallback obj's underlying member method code with example usage: obj._init(env) without return types