Refactor `Task` class to include multiple rolling window evaluations by shchur · Pull Request #33 · autogluon/fev

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case of timestamp-based cutoffs we cannot perform this check during Task.__post_init__ since we don't yet know which timestamps are available in the dataset.

If there is not enough data to generate the splits with a timestamp-based initial_cutoff, an error will be raised once the user accesses EvaluationWindow.get_input_data() for the window where not enough data is available.

For an integer-based negative initial_cutoff, we can immediately tell if the task configuration is invalid during __post_init__, so this check here is just to save user's time.