class_docstr: Time Sequence Model integrates feature transformation model selection for time series
  forecasting.
  It has similar functionality with the TimeSequencePipeline.
  Note that to be compatible with load_ts_pipeline in TimeSequencePipeline,
  TimeSequenceModel should be able to restore with TimeSequenceModel().restore(checkpoint).
  TimeSequenceModel could be optimized if we deprecate load_ts_pipeline
   in future version.
class_docstr_tok: ["Time","Sequence","Model","integrates","feature","transformation","model","selection","for","time","series","forecasting",".","It","has","similar","functionality","with","the","TimeSequencePipeline",".","Note","that","to","be","compatible","with","load_ts_pipeline","in","TimeSequencePipeline",",","TimeSequenceModel","should","be","able","to","restore","with","TimeSequenceModel","(",")",".restore","(","checkpoint",")",".","TimeSequenceModel","could","be","optimized","if","we","deprecate","load_ts_pipeline","in","future","version","."]
docstr: Evaluate on x, y
  :param x: input
  :param y: target
  :param metric: a list of metrics in string format
  :return: a list of metric evaluation results
docstr_tok: ["Evaluate","on","x",",","y",":","param","x",":","input",":","param","y",":","target",":","param","metric",":","a","list","of","metrics","in","string","format",":","return",":","a","list","of","metric","evaluation","results"]
code: def evaluate(self, df, metric=["mse"]):
      """
      Evaluate on x, y
      :param x: input
      :param y: target
      :param metric: a list of metrics in string format
      :return: a list of metric evaluation results
      """
      if isinstance(metric, str):
          metric = [metric]
      x, y = self._process_data(df, mode="val")
      y_pred = self.model.predict(x)
      y_unscale, y_pred_unscale = self.ft.post_processing(
          df, y_pred, is_train=True
      )
      if len(y_pred.shape) > 1 and y_pred.shape[1] == 1:
          multioutput = "uniform_average"
      else:
          multioutput = "raw_values"
      return [
          Evaluator.evaluate(
              m, y_unscale, y_pred_unscale, multioutput=multioutput
          )
          for m in metric
      ]
  
imports: from copy import deepcopy
  from zoo.orca.automl.model.abstract import BaseModel, ModelBuilder
  from zoo.chronos.model.VanillaLSTM import VanillaLSTM
  from zoo.chronos.model.Seq2Seq import LSTMSeq2Seq
  from zoo.chronos.model.MTNet_keras import MTNetKeras
  from zoo.chronos.autots.deprecated.feature.utils import save_config
  from zoo.chronos.autots.deprecated.feature.time_sequence import TimeSequenceFeatureTransformer
  from zoo.chronos.autots.deprecated.preprocessing.impute import LastFillImpute, FillZeroImpute
  from zoo.chronos.utils import deprecated
  from zoo.orca.automl.metrics import Evaluator
  import pandas
  import os
  import tempfile
  import shutil
  import zipfile
  import json
label_desc: Use image node_id 8 for calling the TimeSequenceModel obj's underlying member method code with example usage: obj.evaluate(df, metric) and returns: unknown