class_docstr: Cross validation splitter for time series data
class_docstr_tok: ["Cross","validation","splitter","for","time","series","data"]
code: def __str__(self):
      message = ""
      for idx, scheme in self._split_scheme.items():
          # print train/test start/end indices
          tr_start = list(
              scheme[TimeSeriesSplitSchemeKeys.TRAIN_IDX.value]
          )[0]
          tr_end = list(
              scheme[TimeSeriesSplitSchemeKeys.TRAIN_IDX.value]
          )[-1]
          tt_start = list(
              scheme[TimeSeriesSplitSchemeKeys.TEST_IDX.value]
          )[0]
          tt_end = list(
              scheme[TimeSeriesSplitSchemeKeys.TEST_IDX.value]
          )[-1]
          message += f"\n------------ Fold: ({idx + 1} / {self.n_splits})------------\n"
          if self.date_col is None:
              message += f"Train start index: {tr_start} Train end index: {tr_end}\n"
              message += f"Test start index: {tt_start} Test end index: {tt_end}\n"
          else:
              tr_start_date = scheme["train_period"][0]
              tr_end_date = scheme["train_period"][1]
              tt_start_date = scheme["test_period"][0]
              tt_end_date = scheme["test_period"][1]
  
              message += f"Train start date: {tr_start_date} Train end date: {tr_end_date}\n"
              message += f"Test start date: {tt_start_date} Test end date: {tt_end_date}\n"
      return message
  
imports: import pandas
  import numpy
  import matplotlib.pyplot
  from copy import deepcopy
  import inspect
  from .metrics import smape, wmape, mape, mse, mae, rmsse
  from ..exceptions import BacktestException
  from ..constants.constants import TimeSeriesSplitSchemeKeys, BacktestFitKeys
  from ..constants.palette import OrbitPalette
  from orbit.utils.plot import orbit_style_decorator
label_desc: Use image node_id 7 for calling the TimeSeriesSplitter obj's underlying member method code with example usage: obj.__str__() and returns: message