class_docstr: Sliding window time series split.
  
  Create `n_splits` folds with an as equally possible size through a smart variant of a brute force search.
  Groups parameter in `.split()` method should be filled with the time groups (e.g. years)
  
  If `n_splits` is 3 ("*" = train, "x" = test):
  
  ```console
  * * * x x x - - - - -
  - - - * * * x x x - -
  - - - - - - * * * x x
  ```
  
  Parameters
  ----------
  n_splits : int
      Amount of (train, test) splits to generate.
class_docstr_tok: ["Sliding","window","time","series","split",".","Create","`","n_splits","`","folds","with","an","as","equally","possible","size","through","a","smart","variant","of","a","brute","force","search",".","Groups","parameter","in","`",".split","(",")","`","method","should","be","filled","with","the","time","groups","(","e.g",".","years",")","If","`","n_splits","`","is","3","(","``","*","''","=","train",",","``","x","''","=","test",")",":","``","`","console","*","*","*","x","x","x","-","-","-","-","-","-","-","-","*","*","*","x","x","x","-","-","-","-","-","-","-","-","*","*","*","x","x","``","`","Parameters","--","--","--","--","--","n_splits",":","int","Amount","of","(","train",",","test",")","splits","to","generate","."]
docstr: Check for combinations of n_splits and unique groups and raises `UserWarning` if runtime is expected to take
  over one minute.
  
  Parameters
  ----------
  groups : array-like of shape (n_samples,)
      Groups to check for unique groups and n_splits.
  
  Raises
  ------
  UserWarning
      If runtime is expected to take over one minute.
docstr_tok: ["Check","for","combinations","of","n_splits","and","unique","groups","and","raises","`","UserWarning","`","if","runtime","is","expected","to","take","over","one","minute",".","Parameters","--","--","--","--","--","groups",":","array-like","of","shape","(","n_samples",",",")","Groups","to","check","for","unique","groups","and","n_splits",".","Raises","--","--","--","UserWarning","If","runtime","is","expected","to","take","over","one","minute","."]
code: def _check_for_long_estimated_runtime(self, groups):
      """Check for combinations of n_splits and unique groups and raises `UserWarning` if runtime is expected to take
      over one minute.
  
      Parameters
      ----------
      groups : array-like of shape (n_samples,)
          Groups to check for unique groups and n_splits.
  
      Raises
      ------
      UserWarning
          If runtime is expected to take over one minute.
      """
      unique_groups = len(set(groups))
      warning = (
          "Finding the optimal split points"
          " with {0} unique groups and n_splits at {1}"
          " can take several minutes."
      ).format(unique_groups, self.n_splits)
      if self.n_splits == 4 and unique_groups > 250:
          warn(
              warning + " Consider to decrease n_splits to 3 or lower.",
              UserWarning,
          )
  
      elif self.n_splits == 5 and unique_groups > 100:
          warn(
              warning + " Consider to decrease n_splits to 4 or lower.",
              UserWarning,
          )
  
      elif self.n_splits > 5 and unique_groups > 30:
          warn(
              warning + " Consider to decrease n_splits to 5 or lower.",
              UserWarning,
          )
  
imports: import numbers
  from datetime import timedelta
  from itertools import combinations
  from warnings import warn
  import numpy
  import pandas
  from sklearn.exceptions import NotFittedError
  from sklearn.model_selection._split import _BaseKFold, check_array
  from sklearn.utils.validation import indexable
  from sklego.base import Clusterer
  from sklego.common import sliding_window
label_desc: Use image node_id 5 for calling the GroupTimeSeriesSplit obj's underlying member method code with example usage: obj._check_for_long_estimated_runtime(groups) without return types