docstr: Evaluate on the prediction results and y. We predict horizon time-points ahead the input x
  in fit_eval before evaluation, where the horizon length equals the second dimension size of
  y.
  :param x: We don't support input x currently.
  :param y: target. We interpret the second dimension of y as the horizon length for
      evaluation.
  :param metrics: a list of metrics in string format
  :return: a list of metric evaluation results
docstr_tok: ["Evaluate","on","the","prediction","results","and","y",".","We","predict","horizon","time-points","ahead","the","input","x","in","fit_eval","before","evaluation",",","where","the","horizon","length","equals","the","second","dimension","size","of","y.",":","param","x",":","We","do","n't","support","input","x","currently",".",":","param","y",":","target",".","We","interpret","the","second","dimension","of","y","as","the","horizon","length","for","evaluation",".",":","param","metrics",":","a","list","of","metrics","in","string","format",":","return",":","a","list","of","metric","evaluation","results"]
code: def evaluate(self, x, y, metrics=["mse"]):
      """
      Evaluate on the prediction results and y. We predict horizon time-points ahead the input x
      in fit_eval before evaluation, where the horizon length equals the second dimension size of
      y.
      :param x: We don't support input x currently.
      :param y: target. We interpret the second dimension of y as the horizon length for
          evaluation.
      :param metrics: a list of metrics in string format
      :return: a list of metric evaluation results
      """
      if x is None:
          raise ValueError("Input invalid x of None")
      if y is None:
          raise ValueError("Input invalid y of None")
      if self.model is None:
          raise Exception(
              "Needs to call fit_eval or restore first before calling predict"
          )
  
      if isinstance(y, pd.DataFrame):
          y = y.values
      self.model.n_jobs = self.n_jobs
      y_pred = self.predict(x)
  
      result_list = []
      for metric in metrics:
          if callable(metric):
              result_list.append(metric(y, y_pred))
          else:
              result_list.append(Evaluator.evaluate(metric, y, y_pred))
      return result_list
  
imports: import pickle
  import pandas
  from xgboost.sklearn import XGBRegressor
  from xgboost.sklearn import XGBClassifier
  from zoo.orca.automl.metrics import Evaluator
  from zoo.orca.automl.model.abstract import BaseModel, ModelBuilder
  import logging
label_desc: Use image node_id 7 for calling the XGBoost obj's underlying member method code with example usage: obj.evaluate(x, y, metrics) and returns: result_list