Source code for olympus.datasets.split.constrained_bootstrap

from olympus.datasets.split.balanced_classes import balanced_random_indices, Split


[docs]def constrained_bootstrap_random_indices(rng, indices, n_train, n_valid, n_test): indices = set(indices) unique_train_indices = rng.choice(list(indices), replace=False, size=n_train) train_indices = rng.choice(unique_train_indices, replace=True, size=n_train) indices -= set(train_indices) valid_indices = rng.choice(list(indices), size=n_valid, replace=True) indices -= set(valid_indices) test_indices = rng.choice(list(indices), size=n_test, replace=True) indices -= set(test_indices) return Split(train=train_indices, valid=valid_indices, test=test_indices)
[docs]def split(datasets, data_size, seed, ratio, index): return balanced_random_indices( method=constrained_bootstrap_random_indices, classes=datasets.classes, n_points=data_size, seed=seed)