code: def tostring(obj):
      """
      Format the evaluation metrics as a human readable string.
  
      Returns
      -------
      str
          Evaluation metrics formatted as a human readable string.
  
      """
      ret = ""
      if obj.name is not None:
          ret += "%s\n  " % obj.name
      ret += (
          "F-measure: %.3f P-score: %.3f Cemgil: %.3f Goto: %.3f CMLc: "
          "%.3f CMLt: %.3f AMLc: %.3f AMLt: %.3f D: %.3f Dg: %.3f"
          % (
              obj.fmeasure,
              obj.pscore,
              obj.cemgil,
              obj.goto,
              obj.cmlc,
              obj.cmlt,
              obj.amlc,
              obj.amlt,
              obj.information_gain,
              obj.global_information_gain,
          )
      )
      return ret
  
imports: from __future__ import absolute_import, division, print_function
  import warnings
  from functools import wraps
  import numpy
  from .None import MeanEvaluation, calc_absolute_errors, calc_errors, evaluation_io, find_closest_matches
  from .onsets import OnsetEvaluation
label_desc: Use image node_id 18 for calling a global function with example usage: tostring(obj) and returns: ret