code: def record_evaluation(eval_result):
      
      if not isinstance(eval_result, dict):
          raise TypeError('Eval_result should be a dictionary')
      eval_result.clear()
  
      def _init(env):
          for data_name, _, _, _ in env.evaluation_result_list:
              eval_result.setdefault(data_name, collections.defaultdict(list))
  
      def _callback(env):
          if not eval_result:
              _init(env)
          for data_name, eval_name, result, _ in env.evaluation_result_list:
              eval_result[data_name][eval_name].append(result)
      _callback.order = 20
      return _callback
docs: Create a callback that records the evaluation history into ``eval_result``.
  
      Parameters
      ----------
      eval_result : dict
         A dictionary to store the evaluation results.
  
      Returns
      -------
      callback : function
          The callback that records the evaluation history into the passed dictionary.