class_docstr: Unit tests for the MF GP. 
class_docstr_tok: ["Unit","tests","for","the","MF","GP","."]
docstr: Tests the evaluation. 
docstr_tok: ["Tests","the","evaluation","."]
code: def test_eval(self):
      """Tests the evaluation."""
      self.report(
          "MFGP.eval_at_fidel: Probabilistic test, might fail sometimes."
      )
      num_successes = 0
      for ds in self.datasets:
          curr_gp = build_mfgp_with_dataset(ds)
          curr_pred, _ = curr_gp.eval_at_fidel(ds.Z_te, ds.X_te)
          curr_err = compute_average_sq_prediction_error(
              ds.Y_te, curr_pred
          )
          const_err = compute_average_sq_prediction_error(
              ds.Y_te, ds.Y_tr.mean()
          )
          success = curr_err < const_err
          self.report(
              (
                  "(N,DZ,DX)="
                  + str(ds.Z_tr.shape + (ds.X_tr.shape[1],))
                  + ":: MFGP-err= "
                  + str(curr_err)
                  + ",   Const-err= "
                  + str(const_err)
                  + ",  success="
                  + str(success)
              ),
              "test_result",
          )
          num_successes += int(success)
      assert num_successes > 0.6 * len(self.datasets)
  
imports: from __future__ import division
  from argparse import Namespace
  from copy import deepcopy
  import numpy
  from .None import kernel
  from .unittest_euclidean_gp import fit_se_gp_with_dataset, fit_matern_gp_with_dataset, fit_poly_gp_with_dataset
  from .None import euclidean_gp
  from ..utils.base_test_class import BaseTestClass, execute_tests
  from ..utils.general_utils import compute_average_sq_prediction_error
  from ..utils.option_handler import load_options
label_desc: Use image node_id 3 for calling the EuclideanMFGPTestCase obj's underlying member method code with example usage: obj.test_eval() without return types