preprocessing.split.split_rel_train_val_test
preprocessing.split.split_rel_train_val_test(
data,
perc_train,
perc_val,
verbose=False,
)Splits a time series DataFrame into training, validation, and test sets by percentages.
The test percentage is computed as 1 - perc_train - perc_val. Sizes are rounded to ensure the splits sum to the full dataset size.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| data | pd.DataFrame | The time series data with a DateTimeIndex. | required |
| perc_train | float | Fraction of data used for training. | required |
| perc_val | float | Fraction of data used for validation. | required |
| verbose | bool | Whether to print additional information. | False |
Returns
| Name | Type | Description |
|---|---|---|
| tuple | tuple[pd.DataFrame, pd.DataFrame, pd.DataFrame] | A tuple containing: - data_train (pd.DataFrame): The training set. - data_val (pd.DataFrame): The validation set. - data_test (pd.DataFrame): The test set. |
Examples
>>> from spotforecast2_safe.data.fetch_data import fetch_data
>>> from spotforecast2_safe.preprocessing.split import split_rel_train_val_test
>>> data = fetch_data()
>>> data_train, data_val, data_test = split_rel_train_val_test(
... data,
... perc_train=0.7,
... perc_val=0.2,
... verbose=True
... )