TemporalTrainTestSplitter
TemporalTrainTestSplitter
- class TemporalTrainTestSplitter(train_size=None, test_size=None, anchor='start')[source]
Temporal train-test splitter, based on sample sizes of train or test set.
Splits time series into a single, temporally ordered train/test split. The train and test sets are contiguous blocks of consecutive
ilocpositions, with sizes determined bytrain_sizeandtest_size. If the original time index is irregular, the split is still based on consecutive positions in the data, not on equally spaced time intervals.If the time points in the data are \((t_1, t_2, \ldots, t_N)\), let \(m\) be the number of training positions and \(q\) be the number of test positions after resolving
train_sizeandtest_size. Fractionaltrain_sizevalues are rounded down to \(m\), while fractionaltest_sizevalues are rounded up to \(q\).With
anchor="start", the split is taken from the beginning of the series:\[train = (t_1, \ldots, t_m), \quad test = (t_{m+1}, \ldots, t_{m+q}).\]With
anchor="end", the split is taken from the end of the series:\[train = (t_{N-q-m+1}, \ldots, t_{N-q}), \quad test = (t_{N-q+1}, \ldots, t_N).\]If only
test_sizeis supplied,anchoris treated as"end"and the training set is the complement before the test set. If onlytrain_sizeis supplied,anchoris treated as"start"and the test set is the complement after the training set. If neither is supplied,test_sizedefaults to0.25.This splitter yields exactly one split.
If the data contains multiple time series (Panel or Hierarchical), fractions and train-test sets will be computed per individual time series.
- Parameters:
- train_sizefloat, int, or None, (default=None)
If float, must be between 0.0 and 1.0, and is interpreted as the proportion of the dataset to include in the train split. Proportions are rounded to the next lower integer count of samples (floor). If int, is interpreted as total number of train samples. If None, the value is set to the complement of the test size.
- test_sizefloat, int or None, optional (default=None)
If float, must be between 0.0 and 1.0, and is interpreted as the proportion of the dataset to include in the test split. Proportions are rounded to the next higher integer count of samples (ceil). If int, is interpreted as total number of test samples. If None, the value is set to the complement of the train size. If
train_sizeis also None, it will be set to 0.25.- anchorstr, “start” (default) or “end”
determines behaviour if train and test sizes do not sum up to all data if “start”, cuts train and test set from start of available series if “end”, cuts train and test set from end of available series
Examples
>>> import numpy as np >>> from sktime.split import TemporalTrainTestSplitter >>> ts = np.arange(10) >>> splitter = TemporalTrainTestSplitter(test_size=0.3) >>> list(splitter.split(ts)) [(array([0, 1, 2, 3, 4, 5, 6]), array([7, 8, 9]))]
Methods
clone()Obtain a clone of the object with same hyper-parameters and config.
clone_tags(estimator[, tag_names])Clone tags from another object as dynamic override.
create_test_instance([parameter_set])Construct an instance of the class, using first test parameter set.
create_test_instances_and_names([parameter_set])Create list of all test instances and a list of names for them.
get_class_tag(tag_name[, tag_value_default])Get class tag value from class, with tag level inheritance from parents.
get_class_tags()Get class tags from class, with tag level inheritance from parent classes.
get_config()Get config flags for self.
get_cutoffs([y])Return the cutoff points in .iloc[] context.
get_fh()Return the forecasting horizon.
get_n_splits([y])Return the number of splits.
get_param_defaults()Get object's parameter defaults.
get_param_names([sort])Get object's parameter names.
get_params([deep])Get a dict of parameters values for this object.
get_tag(tag_name[, tag_value_default, ...])Get tag value from instance, with tag level inheritance and overrides.
get_tags()Get tags from instance, with tag level inheritance and overrides.
get_test_params([parameter_set])Return testing parameter settings for the splitter.
is_composite()Check if the object is composed of other BaseObjects.
load_from_path(serial)Load object from file location.
load_from_serial(serial)Load object from serialized memory container.
reset()Reset the object to a clean post-init state.
save([path, serialization_format])Save serialized self to bytes-like object or to (.zip) file.
set_config(**config_dict)Set config flags to given values.
set_params(**params)Set the parameters of this object.
set_random_state([random_state, deep, ...])Set random_state pseudo-random seed parameters for self.
set_tags(**tag_dict)Set instance level tag overrides to given values.
split(y)Get iloc references to train/test splits of y.
split_loc(y)Get loc references to train/test splits of y.
split_series(y)Split y into training and test windows.

