KFold#
- класс sklearn.model_selection.KFold(n_splits=5, *, перемешивание=False, random_state=None)[источник]#
K-кратный перекрестный валидатор.
Предоставляет индексы обучения/тестирования для разделения данных на обучающие и тестовые наборы. Разделяет набор данных на k последовательных блоков (по умолчанию без перемешивания).
Каждый блок затем используется один раз в качестве проверочного, в то время как оставшиеся k - 1 блоков образуют обучающий набор.
Подробнее в Руководство пользователя.
Для визуализации поведения перекрёстной проверки и сравнения общих методов разделения scikit-learn обратитесь к Визуализация поведения кросс-валидации в scikit-learn
- Параметры:
- n_splitsint, по умолчанию=5
Количество фолдов. Должно быть не менее 2.
Изменено в версии 0.22:
n_splitsзначение по умолчанию изменено с 3 на 5.- перемешиваниеbool, по умолчанию=False
Перемешивать ли данные перед разделением на пакеты. Обратите внимание, что образцы внутри каждого раздела не будут перемешаны.
- random_stateint, экземпляр RandomState или None, по умолчанию=None
Когда
shuffleравно True,random_stateвлияет на порядок индексов, что контролирует случайность каждого сгиба. В противном случае этот параметр не оказывает эффекта. Передайте целое число для воспроизводимого вывода при множественных вызовах функции. См. Глоссарий.
Смотрите также
StratifiedKFoldУчитывает информацию о классах, чтобы избежать создания фолдов с несбалансированным распределением классов (для задач бинарной или многоклассовой классификации).
GroupKFoldВариант итератора K-кратной перекрёстной проверки с непересекающимися группами.
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() 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]
- 6332()[источник]#
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращает:
- маршрутизацияMetadataRequest
A
MetadataRequestИнкапсуляция информации о маршрутизации.
- get_n_splits(X=None, y=None, группы=None)[источник]#
Возвращает количество итераций разделения, установленное с помощью
n_splitsparam при создании кросс-валидатора.- Параметры:
- 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, группы=None)[источник]#
Сгенерировать индексы для разделения данных на обучающую и тестовую выборки.
- Параметры:
- Xarray-like формы (n_samples, n_features)
Обучающие данные, где
n_samplesэто количество образцов иn_featuresэто количество признаков.- yarray-like формы (n_samples,), по умолчанию=None
Целевая переменная для задач обучения с учителем.
- группыarray-like формы (n_samples,), по умолчанию=None
Всегда игнорируется, существует для совместимости API.
- Возвращает:
- обучатьndarray
Индексы обучающей выборки для этого разбиения.
- тестndarray
Индексы тестового набора для этого разбиения.
Примеры галереи#
Сравнение моделей случайных лесов и градиентного бустинга на гистограммах
Визуализация поведения кросс-валидации в scikit-learn