Разбиение по слоям со случайной перестановкой
- classsklearn.model_selection.StratifiedShuffleSplit(n_splits=10, *, test_size=None, train_size=None, random_state=None)[source]
-
Перекрестный валидатор с разбиением по слоям со случайной перестановкой.
Предоставляет индексы для разделения данных на обучающую и тестовую выборки.
Этот объект перекрестной проверки является объединением
StratifiedKFoldиShuffleSplit, который возвращает стратифицированные случайные слои. Слои создаются путем сохранения процента образцов для каждого класса.Примечание: как и в стратегии
ShuffleSplit, стратифицированные случайные разбиения не гарантируют, что тестовые наборы во всех слоях будут взаимно исключающими и могут содержать перекрывающиеся образцы. Однако это все же очень вероятно для значительных наборов данных.Подробнее см. в Руководстве пользователя.
Для визуализации поведения перекрестной проверки и сравнения между общими методами разбиения scikit-learn см. Визуализация поведения перекрестной проверки в scikit-learn
- Параметры:
-
- n_splitsint, по умолчанию=10
-
Количество итераций повторной перестановки и разделения.
- test_sizefloat или int, по умолчанию=None
-
Если float, должно быть от 0,0 до 1,0 и представлять собой долю набора данных, которая должна быть включена в тестовое разбиение. Если int, представляет собой абсолютное количество тестовых образцов. Если None, значение устанавливается в дополнение к размеру обучающей выборки. Если
train_sizeтакже равно None, оно будет установлено в 0,1. - train_sizefloat или int, по умолчанию=None
-
Если float, должно быть от 0,0 до 1,0 и представлять собой долю набора данных, которая должна быть включена в обучающее разбиение. Если int, представляет собой абсолютное количество обучающих образцов. Если None, значение автоматически устанавливается в дополнение к размеру тестовой выборки.
- random_stateint, экземпляр RandomState или None, по умолчанию=None
-
Управляет случайностью обучающих и тестовых индексов, генерируемых. Передайте целое число для воспроизводимого результата при многократных вызовах функции. См. Глоссарий.
Примеры
>>> import numpy as np >>> from sklearn.model_selection import StratifiedShuffleSplit >>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4], [1, 2], [3, 4]]) >>> y = np.array([0, 0, 0, 1, 1, 1]) >>> sss = StratifiedShuffleSplit(n_splits=5, test_size=0.5, random_state=0) >>> sss.get_n_splits(X, y) 5 >>> print(sss) StratifiedShuffleSplit(n_splits=5, random_state=0, ...) >>> for i, (train_index, test_index) in enumerate(sss.split(X, y)): ... print(f"Fold {i}:") ... print(f" Train: index={train_index}") ... print(f" Test: index={test_index}") Fold 0: Train: index=[5 2 3] Test: index=[4 1 0] Fold 1: Train: index=[5 1 4] Test: index=[0 2 3] Fold 2: Train: index=[5 0 2] Test: index=[4 3 1] Fold 3: Train: index=[4 1 0] Test: index=[2 3 5] Fold 4: Train: index=[0 5 1] Test: index=[3 4 2]- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, см. Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
-
- routingMetadataRequest
-
A
MetadataRequestencapsulating routing information.
- get_n_splits(X=None, y=None, groups=None)[source]
-
Возвращает количество итераций разделения в перекрестном валидаторе.
- Параметры:
-
- Xобъект
-
Всегда игнорируется, существует для совместимости.
- yобъект
-
Всегда игнорируется, существует для совместимости.
- groupsобъект
-
Всегда игнорируется, существует для совместимости.
- Возвращает:
-
- n_splitsint
-
Возвращает количество итераций разделения в перекрестном валидаторе.
- split(X, y, groups=None)[source]
-
Генерировать индексы для разделения данных на обучающую и тестовую выборки.
- Параметры:
-
- Xмассив-подобный формы (n_samples, n_features)
-
Обучающие данные, где
n_samples— количество образцов, аn_features— количество признаков.Обратите внимание, что предоставление
yдостаточно для генерации разбиений, и поэтомуnp.zeros(n_samples)может использоваться в качестве заполнителя дляXвместо фактических обучающих данных. - yмассив-подобный формы (n_samples,) или (n_samples, n_labels)
-
Переменная отклика для задач обучения с учителем. Стратификация выполняется на основе меток y.
- groupsобъект
-
Всегда игнорируется, существует для совместимости.
- Возвращает:
-
- trainndarray
-
Индексы обучающей выборки для данного разбиения.
- testndarray
-
Индексы тестовой выборки для данного разбиения.
Примечания
Случайные разделители перекрестной проверки могут возвращать разные результаты при каждом вызове split. Вы можете сделать результаты идентичными, установив
random_stateв целое число.
Примеры галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.model_selection.StratifiedShuffleSplit.html