The choice of how to split data can greatly influence our impression of future performance of the model . QSPRpred supports any scikit-learn-style data splitter class that has a method split(X,y) that yields for each split/fold the indices for each subset. Splits can be applied at two levels, during dataset preparation to create the independent test set (which will be used by TestSetAssessor) and during model optimization/training to create (cross-)validation sets with CrossValAssessor (described in section 2.2.3). QSPRpred also offers several integrated splits. All of these methods support the creation of a single train-test split or k-folds.