Spec-Zone.ru › scikit-learn

KFold

classsklearn.model_selection.KFold(n_splits=5, *, shuffle=False, random_state=None)[source]

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

Обеспечивает индексы для разделения данных на обучающие и тестовые наборы. Разделяет набор данных на k последовательных фолдов (по умолчанию без перемешивания).

Затем каждый фолд используется один раз в качестве валидационного, а оставшиеся k - 1 фолды образуют обучающий набор.

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

Для визуализации поведения перекрестной проверки и сравнения между общими методами разделения scikit-learn см. Визуализация поведения перекрестной проверки в scikit-learn

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

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

Изменено в версии 0.22: n_splits значение по умолчанию изменено с 3 на 5.

shufflebool, по умолчанию=False

Перемешивать ли данные перед разделением на пакеты. Обратите внимание, что образцы в каждом разбиении не перемешиваются.

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

Если shuffle равно True, random_state влияет на порядок индексов, что контролирует случайность каждого фолда. В противном случае этот параметр не оказывает никакого влияния. Передайте целое число для воспроизводимого вывода при многократных вызовах функции. См. Глоссарий.

См. также

StratifiedKFold

Учитывает информацию о классах, чтобы избежать создания фолдов с несбалансированными распределениями классов (для задач бинарной или многоклассовой классификации).

GroupKFold

Вариант итератора K-fold с неперекрывающимися группами.

RepeatedKFold

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

Примечания

Первые n_samples % n_splits фолды имеют размер n_samples // n_splits + 1, другие фолды имеют размер n_samples // n_splits, где n_samples — количество образцов.

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

Примеры

>>> import numpy as np
>>> from sklearn.model_selection import KFold
>>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
>>> y = np.array([1, 2, 3, 4])
>>> kf = KFold(n_splits=2)
>>> kf.get_n_splits(X)
2
>>> print(kf)
KFold(n_splits=2, random_state=None, shuffle=False)
>>> for i, (train_index, test_index) in enumerate(kf.split(X)):
...     print(f"Fold {i}:")
...     print(f"  Train: index={train_index}")
...     print(f"  Test:  index={test_index}")
Fold 0:
  Train: index=[2 3]
  Test:  index=[0 1]
Fold 1:
  Train: index=[0 1]
  Test:  index=[2 3]
get_metadata_routing()[source]

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

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

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

MetadataRequest encapsulating routing information.

get_n_splits(X=None, y=None, groups=None)[source]

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

Параметры:
Xобъект

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

yобъект

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

groupsобъект

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

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

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

split(X, y=None, groups=None)[source]

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

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

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

yarray-like of shape (n_samples,)

Переменная-цель для задач обучения с учителем.

groupsobject

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

Выходные данные:
trainndarray

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

testndarray

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

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

Агломерация признаков против унивариатного отбора

Сравнение моделей Случайного леса и Градиентного бустинга с гистограммами

Оценки Градиентного бустинга вне выборки

Вложенное и невложенное перекрестное оценивание

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

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.model_selection.KFold.html

Spec-Zone.ru

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