samusz / DateSelectors.jl

Utilities for partitioning Dates into validation and holdout sets.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DateSelectors

Stable Dev CI code style blue ColPrac: Contributor's Guide on Collaborative Practices for Community Packages

Usage

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:

  1. NoneSelector: assigns all dates to the validation set.
  2. RandomSelector: randomly draws a subset of dates without replacement.
  3. 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.

About

Utilities for partitioning Dates into validation and holdout sets.

License:MIT License


Languages

Language:Julia 100.0%