Time Split #
Time-based k-fold validation splits for heterogeneous data.

Folds plotted on a two-by-two grid. See the examples page for more.
What is it?#
A library for creating time-based cross-validation splits of heterogeneous data, such as raw transaction data with strong non-stationary characteristics.
Highlighted Features#
Splitting schedules based on a fixed interval, a CRON-expression, or a pre-defined list.
Data selection based on a timedelta, or the splitting schedule itself.
Automatically extract and normalize data limits for supported data types.
Plotting function for visualization of folds. Display fold sizes (hour/row count), or use custom text.
Integrations for popular libraries such as
pandas,polarsandscikit-learn.Convenient web application for exploring folds with different parameters.
Experimenting with parameters#
The Time Split application (available here) is designed to help evaluate the effects of different parameters. To start it locally, run
docker run -p 8501:8501 rsundqvist/time-split
or
pip install time-split[app]
python -m time_split app start
in the terminal. You may use
create_explorer_link()
to build application URLs with preselected splitting parameters.
Installation#
The package is published through the Python Package Index (PyPI). Source code is available on GitHub: https://github.com/rsundqvist/time-split
pip install -U time-split
This is the preferred method to install time-split, as it will always install the
most recent stable release.
If you don’t have pip installed, this Python installation guide can guide you through the process.
License#
Documentation#
Hosted on Read the Docs: https://time-split.readthedocs.io
Contributing#
All contributions, bug reports, bug fixes, documentation improvements, enhancements, and ideas are welcome. To get started, see the Contributing Guide and Code of Conduct.