RepeatedStratifiedKFold#

класс sklearn.model_selection.RepeatedStratifiedKFold(*, n_splits=5, n_repeats=10, random_state=None)[источник]#

Повторный послойный K-кратный перекрестный валидатор по классам.

Повторяет Стратифицированный K-Fold n раз с разной рандомизацией в каждом повторении.

Подробнее в Руководство пользователя.

Примечание

Стратификация по метке класса решает инженерную проблему, а не статистическую. См. Итераторы перекрестной проверки со стратификацией на основе меток классов для получения дополнительной информации.

Параметры:
n_splitsint, по умолчанию=5

Количество фолдов. Должно быть не менее 2.

n_repeatsint, по умолчанию=10

Количество повторений перекрестного валидатора.

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

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

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

RepeatedKFold

Повторяет K-Fold n раз.

Примечания

Рандомизированные сплиттеры CV могут возвращать разные результаты для каждого вызова split. Вы можете сделать результаты идентичными, установив random_state в целое число.

Примеры

>>> import numpy as np
>>> from sklearn.model_selection import RepeatedStratifiedKFold
>>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
>>> y = np.array([0, 0, 1, 1])
>>> rskf = RepeatedStratifiedKFold(n_splits=2, n_repeats=2,
...     random_state=36851234)
>>> rskf.get_n_splits()
4
>>> print(rskf)
RepeatedStratifiedKFold(n_repeats=2, n_splits=2, random_state=36851234)
>>> for i, (train_index, test_index) in enumerate(rskf.split(X, y)):
...     print(f"Fold {i}:")
...     print(f"  Train: index={train_index}")
...     print(f"  Test:  index={test_index}")
...
Fold 0:
  Train: index=[1 2]
  Test:  index=[0 3]
Fold 1:
  Train: index=[0 3]
  Test:  index=[1 2]
Fold 2:
  Train: index=[1 3]
  Test:  index=[0 2]
Fold 3:
  Train: index=[0 2]
  Test:  index=[1 3]
6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_n_splits(X=None, y=None, группы=None)[источник]#

Возвращает количество итераций разделения, установленное с помощью n_splits param при создании кросс-валидатора.

Параметры:
Xмассивоподобный объект формы (n_samples, n_features), по умолчанию=None

Всегда игнорируется, существует для совместимости API.

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

Всегда игнорируется, существует для совместимости API.

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

Всегда игнорируется, существует для совместимости API.

Возвращает:
n_splitsint

Возвращает количество итераций разделения в кросс-валидаторе.

split(X, y, группы=None)[источник]#

Сгенерировать индексы для разделения данных на обучающую и тестовую выборки.

Параметры:
Xarray-like формы (n_samples, n_features)

Обучающие данные, где n_samples это количество образцов и n_features это количество признаков.

Обратите внимание, что предоставление y достаточно для генерации разбиений и, следовательно, np.zeros(n_samples) может использоваться в качестве заполнителя для X вместо фактических обучающих данных.

yarray-like формы (n_samples,)

Целевая переменная для задач обучения с учителем. Стратификация выполняется на основе меток y.

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

Всегда игнорируется, существует для совместимости API.

Возвращает:
обучатьndarray

Индексы обучающей выборки для этого разбиения.

тестndarray

Индексы тестового набора для этого разбиения.

Примечания

Рандомизированные сплиттеры CV могут возвращать разные результаты для каждого вызова split. Вы можете сделать результаты идентичными, установив random_state в целое число.