Spec-Zone.ru › scikit-learn

Разбиение по слоям со случайной перестановкой

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 MetadataRequest encapsulating 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 в целое число.

Примеры галереи

Визуализация поведения перекрестной проверки в scikit-learn

Параметры SVM с ядром RBF

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API