class_docstr: Base class for sliding and expanding window splitter.
code: def __init__(
      self,
      fh: FORECASTING_HORIZON_TYPES,
      initial_window: ACCEPTED_WINDOW_LENGTH_TYPES,
      window_length: ACCEPTED_WINDOW_LENGTH_TYPES,
      step_length: NON_FLOAT_WINDOW_LENGTH_TYPES,
      start_with_window: bool,
  ) -> None:
      _check_inputs_for_compatibility(
          [fh, initial_window, window_length, step_length]
      )
      self.step_length = step_length
      self.start_with_window = start_with_window
      self.initial_window = initial_window
      super().__init__(fh=fh, window_length=window_length)
  
imports: from typing import Optional
  import numpy
  import pandas
  from sktime.datatypes._utilities import get_index_for_series
  from sktime.forecasting.base import ForecastingHorizon
  from sktime.split.base import BaseSplitter
  from sktime.split.base._common import ACCEPTED_Y_TYPES, FORECASTING_HORIZON_TYPES, SPLIT_ARRAY_TYPE, SPLIT_GENERATOR_TYPE, _check_fh, _check_inputs_for_compatibility, _get_end
  from sktime.utils.validation import ACCEPTED_WINDOW_LENGTH_TYPES, NON_FLOAT_WINDOW_LENGTH_TYPES, array_is_int, check_window_length, is_int, is_timedelta_or_date_offset
  from sktime.utils.validation.forecasting import check_step_length
label_desc: Use image node_id 1 to create a new BaseWindowSplitter object from inherited base classes: BaseSplitter with example: obj = BaseWindowSplitter(fh, initial_window, window_length, step_length, start_with_window)