Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-8298

Sliding Window CrossValidator

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Incomplete
    • None
    • None
    • ML

    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

          Activity

            People

              Unassigned Unassigned
              yipjustin Justin Yip
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: