class_docstr: Blocked Time Series cross-validator
  
  This cross-validation object is a modification of TimeSeriesSplit.
  In the kth split, it splits kth fold to train and test by time.
  
  Parameters
  ----------
  n_splits : int, default=5
      Number of splits. Must be at least 2.
  
  test_size : float, default=0.2
      Should be between 0.0 and 1.0 and represent the proportion
      of groups to include in the test split
code: def __init__(self, n_splits: int = 5, test_size: float = 0.2):
      if not isinstance(n_splits, numbers.Integral):
          raise ValueError(
              bundle.get("timeseries_invalid_split_type").format(
                  n_splits, type(n_splits)
              )
          )
      n_splits = int(n_splits)
  
      if n_splits <= 1:
          raise ValueError(
              bundle.get("timeseries_invalid_split_count").format(
                  n_splits
              )
          )
  
      if test_size <= 0 or test_size >= 1:
          raise ValueError(
              bundle.get("timeseries_invalid_test_size_type").format(
                  test_size
              )
          )
  
      self.n_splits = n_splits
      self.test_size = test_size
  
file_path: upgini/src/upgini/utils/blocked_time_series.py
imports: import numpy
  import numbers
  from sklearn.utils import indexable
  from sklearn.utils.validation import _num_samples
  from sklearn.model_selection import BaseCrossValidator
  from upgini.resource_bundle import bundle
label_desc: Use image node_id 1 to create a new BlockedTimeSeriesSplit object from inherited base classes: BaseCrossValidator with example: obj = BlockedTimeSeriesSplit(n_splits, test_size)