0

I'm trying to split a multi-label dataset into train, val and test datasets. I want to do something similar to

from skmultilearn.model_selection.iterative_stratification import IterativeStratification

def iterative_train_test_split(X, y, test_size):
    stratifier = IterativeStratification(
        n_splits=2, order=1, sample_distribution_per_fold=[test_size, 1-test_size])
    train_indices, test_indices = next(stratifier.split(X, y))
    X_train, y_train = X[train_indices], y[train_indices]
    X_test, y_test = X[test_indices], y[test_indices]
    return X_train, X_test, y_train, y_test

but with n_splits=3. When I try to set n_splits=3 I still only get 2 sets of indices out. Am I doing something wrong?

sancholp
  • 67
  • 7

0 Answers0