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]