DateSelectors.jl simplifies the partitioning of a collection of dates into non-contiguous validation and holdout sets in line with best practices for tuning hyper-parameters, for time-series machine learning.
The package exports the partition function, which assigns dates to the validation and holdout sets according to the DateSelector.
The available DateSelectors are:
NoneSelector: assigns all dates to the validation set.RandomSelector: randomly draws a subset of dates without replacement.PeriodicSelector: draws contiguous subsets of days periodically from the collection.
A notable trait of the DateSelectors is that the selection is invariant to the start and end-dates of collection itself.
Thus you can shift the start and end dates, e.g. by a week, and the days in the overlapping period will consitently still be placed into holdout or validation as before.
The only thing that controls if a date is selected or not is the parameters of the DateSelector itself.
See the examples in the docs for more info.