Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Incomplete
-
None
-
None
Description
CrossValidator only supports k-folds. It cannot prevent the validation data from look-ahead bias. I would like to contribute a sliding-window based CrossValidator. The sliding window guarantees a clear cutoff time between the training and validation data, to prevent look-ahead bias.
Three parameters are used to govern the generation process.
1. numFold - Int
2. firstCutoffIndex - Long, the cutoff index of the training data for the first (training, validation) data pair
3. validationWindowSize - Long, index range of the validation data set duration.
Need to decide:
Whether to make the current CrossValidator more generic or implement a new SlidingWindowCrossValidator.
- Most of the logic are identical between CrossValidator and SlidingWindowValidator, except for the part where the training-validation data pairs is generated. More, if we introduce other kinds of data splitting methods, there will be lots of code redundancy if we use multiple classes.
- However, I also foresee that things will get messy to support too many splitting methods with one CrossValidator class.
Attachments
Issue Links
- relates to
-
SPARK-8983 ML Tuning Cross-Validation Improvements
- Resolved
- links to