Source code for olympus.datasets.split.resample

import numpy

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


[docs]def resample_random_indices(rng, indices, n_train, n_valid, n_test, ratio): indices = numpy.array(indices) n_resampled = int(n_train * ratio) rng.shuffle(indices) resampled = rng.randint(0, n_resampled, size=n_resampled) if len(resampled): indices[:n_resampled] = indices[resampled] train_indices = indices[:n_train] valid_indices = indices[n_train:n_train + n_valid] test_indices = indices[n_train + n_valid:] 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=resample_random_indices, classes=datasets.classes, n_points=data_size, seed=seed, ratio=ratio)