Timeseries cross-validation for Neural Networks
Project description
Time-Series Cross-Validation
This python package aims to implement Time-Series Cross Validation Techniques.
The idea is given a training dataset, the package will split it into Train, Validation and Test sets, by means of either Forward Chaining, K-Fold or Group K-Fold.
As parameters the user can not only select the number of inputs (n_steps_input) and outputs (n_steps_forecast), but also the number of samples (n_steps_jump) to jump in the data to train.
The best way to install the package is as follows:
pip install git+https://github.com/DidierRLopes/TimeSeriesCrossValidation
This can be seen more intuitively using the jupyter notebook: "example.ipynb" Below you can find an example of the usage of each function for the following Time-Series:
timeSeries = array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26])
Split Train
split_train
from TimeSeriesCrossValidation.splitTrain import split_train
X, y = split_train(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)
split_train_variableInput
from TimeSeriesCrossValidation.splitTrain import split_train_variableInput
X, y = split_train_variableInput(timeSeries, minSamplesTrain=10, n_steps_forecast=3, n_steps_jump=3)
Split Train Val
split_train_val_forwardChaining
from TimeSeriesCrossValidation.splitTrainVal import split_train_val_forwardChaining
X, y, Xcv, ycv = split_train_val_forwardChaining(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)
split_train_val_kFold
from TimeSeriesCrossValidation.splitTrainVal import split_train_val_kFold
X, y, Xcv, ycv = split_train_val_kFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)
split_train_val_groupKFold
from TimeSeriesCrossValidation.splitTrainVal import split_train_val_groupKFold
X, y, Xcv, ycv = split_train_val_groupKFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)
Split Train Val Test
split_train_val_test_forwardChaining
from TimeSeriesCrossValidation.splitTrainValTest import split_train_val_test_forwardChaining
X, y, Xcv, ycv, Xtest, ytest = split_train_val_test_forwardChaining(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)
split_train_val_test_kFold
from TimeSeriesCrossValidation.splitTrainValTest import split_train_val_test_kFold
X, y, Xcv, ycv, Xtest, ytest = split_train_val_test_kFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)
split_train_val_test_groupKFold
from TimeSeriesCrossValidation.splitTrainValTest import split_train_val_test_groupKFold
X, y, Xcv, ycv, Xtest, ytest = split_train_val_test_groupKFold(timeSeries, n_steps_input=4, n_steps_forecast=3, n_steps_jump=2)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for timeseries_cv-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23508f0d1797297654e571a767b463a82f4481c0744372486f2e3792330b142d |
|
MD5 | b1c0176bd4794a3f09b4000a6f59a183 |
|
BLAKE2b-256 | 4c88275a6f049effb6ad5fcb6673c72156d90b38ba5b7382c604d5a4de90f3bf |