class_docstr: Used to iteratively fit model on a given data splitter
class_docstr_tok: ["Used","to","iteratively","fit","model","on","a","given","data","splitter"]
code: def __init__(self, model, df, **splitter_kwargs):
      self.model = model
      self.df = df
  
      self._splitter_args = splitter_kwargs
  
      # create splitter object to split data
      self._splitter = None
      self._set_splitter()
  
      # init private vars
      self._n_splits = 0
      self._set_n_splits()
      self._test_actual = []
      self._test_prediction = []
      self._train_actual = []
      self._train_prediction = []
  
      # # init df for actual and predictions
      # self._predicted_df = pd.DataFrame(
      #     {}, columns=[
      #         BacktestFitKeys.DATE.value,
      #         BacktestFitKeys.SPLIT_KEY.value,
      #         BacktestFitKeys.TRAIN_FLAG.value,
      #         BacktestFitKeys.ACTUAL.value,
      #         BacktestFitKeys.PREDICTED.value
      #     ]
      # )
  
      # score df
      self._score_df = pd.DataFrame()
  
      self._fitted_models = list()
      self._splitter_scheme = list()
  
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 1 to create a new BackTester object from inherited base classes: object with example: obj = BackTester(model, df)