resample#

sklearn.utils.resample(*массивы, replace=True, n_samples=None, random_state=None, stratify=None, sample_weight=None)[источник]#

Перевыборка массивов или разреженных матриц согласованным образом.

Стратегия по умолчанию реализует один шаг процедуры бутстреппинга.

Параметры:
*arraysпоследовательность массивоподобных объектов формы (n_samples,) или (n_samples, n_outputs)

Индексируемые структуры данных могут быть массивами, списками, датафреймами или разреженными матрицами scipy с согласованной первой размерностью.

replacebool, по умолчанию=True

Реализует повторную выборку с заменой. Должно быть установлено в True всякий раз, когда выборка проводится с неравномерными весами: ожидается, что несколько точек данных с очень большими весами будут выбраны несколько раз с вероятностью сохранения распределения, индуцированного весами. Если False, это реализует (срезные) случайные перестановки.

n_samplesint, default=None

Количество генерируемых образцов. Если оставить значение None, оно автоматически устанавливается равным первой размерности массивов. Если replace равно False, это значение не должно быть больше длины массивов.

random_stateint, экземпляр RandomState или None, по умолчанию=None

Определяет генерацию случайных чисел для перемешивания данных. Передайте целое число для воспроизводимых результатов при многократных вызовах функции. См. Глоссарий.

stratify{array-like, sparse matrix} формы (n_samples,) или (n_samples, n_outputs), default=None

Если не None, данные разделяются стратифицированным образом, используя это в качестве меток классов.

sample_weightarray-like формы (n_samples,), по умолчанию=None

Содержит значения весов, связанные с каждым образцом. Значения нормализуются к сумме, равной единице, и интерпретируются как вероятность выборки каждого элемента данных.

Добавлено в версии 1.7.

Возвращает:
resampled_arraysпоследовательность массивоподобных объектов формы (n_samples,) или (n_samples, n_outputs)

Последовательность передискретизированных копий коллекций. Исходные массивы не затрагиваются.

Смотрите также

shuffle

Перемешивание массивов или разреженных матриц согласованным образом.

Примеры

Можно смешивать разреженные и плотные массивы в одном запуске:

>>> import numpy as np
>>> X = np.array([[1., 0.], [2., 1.], [0., 0.]])
>>> y = np.array([0, 1, 2])

>>> from scipy.sparse import coo_matrix
>>> X_sparse = coo_matrix(X)

>>> from sklearn.utils import resample
>>> X, X_sparse, y = resample(X, X_sparse, y, random_state=0)
>>> X
array([[1., 0.],
       [2., 1.],
       [1., 0.]])

>>> X_sparse

    with 4 stored elements and shape (3, 2)>

>>> X_sparse.toarray()
array([[1., 0.],
       [2., 1.],
       [1., 0.]])

>>> y
array([0, 1, 0])

>>> resample(y, n_samples=2, random_state=0)
array([0, 1])

Пример использования стратификации:

>>> y = [0, 0, 1, 1, 1, 1, 1, 1, 1]
>>> resample(y, n_samples=5, replace=False, stratify=y,
...          random_state=0)
[1, 1, 1, 0, 1]