Spec-Zone.ru › scikit-learn

cross_val_score

sklearn.model_selection.cross_val_score(estimator, X, y=None, *, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, params=None, pre_dispatch='2*n_jobs', error_score=nan)[source]

Оценивание метрики с помощью кросс-валидации.

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

Параметры:
estimatorобъект-оценщик реализующий метод ‘fit’

Объект для обучения на данных.

X{array-like, разреженная матрица} формы (n_samples, n_features)

Данные для обучения. Может быть списком или массивом.

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

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

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

Метки групп для образцов, используемые при разделении набора данных на обучающий и тестовый. Используется только в сочетании с экземпляром “Group” cv (например, GroupKFold).

Изменено в версии 1.4: groups может быть передан только если маршрутизация метаданных не включена через sklearn.set_config(enable_metadata_routing=True). При включенной маршрутизации передайте groups вместе с другими метаданными через аргумент params вместо него. Например: cross_val_score(..., params={'groups': groups}).

scoringстрока или вызываемый объект, по умолчанию=None

Строка (см. Параметр scoring: определение правил оценки модели) или вызываемый объект/функция с сигнатурой scorer(estimator, X, y), которая должна возвращать только одно значение.

Аналогично cross_validate, но допускается только одна метрика.

Если None, используется стандартная функция оценки оценщика (если она доступна).

cvцелое число, генератор кросс-валидации или итерируемый объект, по умолчанию=None

Определяет стратегию разделения данных для кросс-валидации. Возможные входные данные для cv:

  • None, для использования стандартной 5-кратной кросс-валидации,
  • целое число, для указания количества слоёв в (Stratified)KFold,
  • делитель кросс-валидации,
  • Итерируемый объект, генерирующий (обучающие, тестовые) разделения как массивы индексов.

Для int/None входных данных, если оценщик является классификатором и y бинарная или многоклассовая, используется StratifiedKFold. Во всех других случаях используется KFold. Эти делители инициализируются shuffle=False, поэтому разделения будут одинаковыми при вызовах.

Обратитесь к Руководству пользователя для ознакомления с различными стратегиями кросс-валидации, которые могут быть здесь использованы.

Изменено в версии 0.22: cv значение по умолчанию, если None изменилось с 3-кратной на 5-кратную кросс-валидацию.

n_jobsцелое число, по умолчанию=None

Количество задач, выполняемых параллельно. Обучение оценщика и вычисление оценки параллелизируются по разбиениям кросс-валидации. None означает 1, если не в контексте joblib.parallel_backend. -1 означает использование всех процессоров. См. Словарь для получения дополнительной информации.

verboseцелое число, по умолчанию=0

Уровень детализации.

paramsсловарь, по умолчанию=None

Параметры для передачи базовому оценщику fit, функции оценки и делителю кросс-валидации.

Добавлена в версии 1.4.

pre_dispatchцелое число или строка, по умолчанию=’2*n_jobs’

Управляет количеством задач, которые отправляются во время параллельного выполнения. Уменьшение этого числа может быть полезно для предотвращения взрыва потребления памяти, когда отправляется больше задач, чем может обработать ЦП. Этот параметр может быть:

  • None, в этом случае все задачи создаются и запускаются сразу. Используйте это для лёгких и быстро выполняемых задач, чтобы избежать задержек из-за запуска задач по требованию
  • Целое число, задающее точное количество запускаемых задач
  • Строка, задающая выражение как функцию от n_jobs, как в ‘2*n_jobs’
error_score‘raise’ или числовое значение, по умолчанию=np.nan

Значение, присваиваемое оценке, если произошла ошибка при подгонке оценщика. Если установлено в ‘raise’, ошибка поднимается. Если задано числовое значение, генерируется предупреждение FitFailedWarning.

Добавлена в версии 0.20.

Возвращаемое значение:
scoresмассив float формы=(len(list(cv)),)

Массив оценок оценщика для каждого выполнения кросс-валидации.

См. также

cross_validate

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

cross_val_predict

Получение предсказаний для каждого разбиения кросс-валидации для диагностических целей.

sklearn.metrics.make_scorer

Создание функции оценки из метрики производительности или функции потерь.

Примеры

>>> from sklearn import datasets, linear_model
>>> from sklearn.model_selection import cross_val_score
>>> diabetes = datasets.load_diabetes()
>>> X = diabetes.data[:150]
>>> y = diabetes.target[:150]
>>> lasso = linear_model.Lasso()
>>> print(cross_val_score(lasso, X, y, cv=3))
[0.3315057  0.08022103 0.03531816]

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

Основные моменты выпуска scikit-learn 1.3

Выбор модели с помощью вероятностного PCA и Factor Analysis (FA)

Запаздывающие признаки для прогнозирования временных рядов

Заполнение пропущенных значений перед построением оценщика

Заполнение пропущенных значений с помощью вариантов IterativeImputer

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

Визуализация прогнозов с перекрестной проверкой

Недообучение против переобучения

SVM-Anova: SVM с унивариатным отбором признаков

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

Spec-Zone.ru

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