code: def fit_predict(self, X=None, y=None, **fit_params):
      if X is not None:
          Xt, yt, fit_params = self._fit(X, y, **fit_params)
      else:
          Xt, yt, fit_params = self._get_fit_params(X, y, **fit_params)
      with _print_elapsed_time(
          "Pipeline", self._log_message(len(self.steps) - 1)
      ):
          y_pred = self.steps[-1][-1].fit_predict(
              y=yt, X=Xt, **fit_params
          )
      return y_pred
  
imports: import platform
  import warnings
  from copy import deepcopy
  from inspect import signature
  import imblearn.pipeline
  import sklearn.pipeline
  from sklearn.base import clone
  from sklearn.utils import _print_elapsed_time
  from sklearn.utils.metaestimators import available_if
  from sklearn.utils.validation import check_memory
  from pycaret.utils._show_versions import _get_deps_info
  from pycaret.utils.generic import get_all_object_vars_and_properties, variable_return
label_desc: Use image node_id 5 for calling the TimeSeriesPipeline obj's underlying member method code with example usage: obj.fit_predict(X, y) and returns: y_pred