When fold_assignment for base learners is not Modulo, Stacked Ensemble fails

Description

There is a check in the stacked ensemble that forces the base learners to have used `fold_assignment = "Modulo"` to guarantee that they all used identical folds. This is overly strict.

There are two other ways to get identical folds, but they require some additional checking.
1. If the user selects `fold_assignment` of "AUTO" or "Random" (AUTO defaults to Random), and the same seed was used in all the algos, then the folds produced will be identical. So we could add a check to validate that the same seed was used.
2. If the user provides a fold id column in the training set and uses that to train all the models, that is another way to guarantee that the folds are the same. In this case, we need to check that the same column was used in the training_frame (or if `keep_cross_validation_fold_assignment = TRUE`, then we could check the actual folds themselves).

Here is an example where `fold_assignment = "AUTO"`.

Assignee

Raymond Peck

Fix versions

Reporter

Nidhi Mehta

Support ticket URL

None

Labels

None

Affected Spark version

None

Customer Request Type

None

Task progress

None

CustomerVisible

No

Components

Priority

Major
Configure