cross_validate
- sklearn.model_selection.cross_validate(estimator, X, y=None, *, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, params=None, pre_dispatch='2*n_jobs', return_train_score=False, return_estimator=False, return_indices=False, error_score=nan)[исходный код]
-
Оценивает метрики с помощью перекрёстной проверки и также записывает время обучения и вычисления оценки.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- estimatorобъект-оценщик, реализующий метод ‘fit’
-
Объект, используемый для обучения на данных.
- X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Данные для обучения. Например, это может быть список или массив.
- yмассивоподобный объект формы (n_samples,) или (n_samples, n_outputs), по умолчанию None
-
Целевая переменная, которую нужно предсказать в случае обучения с учителем.
- groupsмассивоподобный объект формы (n_samples,), по умолчанию None
-
Метки групп образцов, используемые при разделении набора данных на обучающую и тестовую выборки. Используется только вместе с экземпляром cv типа “Group” (например,
GroupKFold).Изменено в версии 1.4:
groupsможно передавать, только если маршрутизация метаданных не включена с помощьюsklearn.set_config(enable_metadata_routing=True). Если маршрутизация включена, передавайтеgroupsвместе с другими метаданными через аргументparams. Например:cross_validate(..., params={'groups': groups}). - scoringstr, callable, list, tuple или dict, по умолчанию None
-
Стратегия оценки производительности
estimatorна разбиениях перекрёстной проверки.Если
scoringпредставляет одну оценку, можно использовать:- одну строку (см. оценщики с именами в виде строк);
- вызываемый объект (см. вызываемые оценщики), возвращающий одно значение.
Noneиспользуется критерий оценки по умолчанию дляestimator.
Если
scoringпредставляет несколько оценок, можно использовать:- список или кортеж уникальных строк;
- вызываемый объект, возвращающий словарь, в котором ключи — имена метрик, а значения — оценки метрик;
- словарь, в котором ключами являются имена метрик, а значениями — вызываемые объекты.
Пример см. в разделе указание нескольких метрик для оценки.
- cvint, генератор разбиений для перекрёстной проверки или итерируемый объект, по умолчанию None
-
Определяет стратегию разбиения для перекрёстной проверки. Возможные значения cv:
- None — использовать перекрёстную проверку с 5 блоками по умолчанию;
- int — задать количество блоков в
(Stratified)KFold; - разбиватель CV;
- итерируемый объект, возвращающий разбиения (train, test) в виде массивов индексов.
Для значений int/None, если оценщик является классификатором, а
y— бинарная или многоклассовая, используетсяStratifiedKFold. Во всех остальных случаях используетсяKFold. Эти разбиватели создаются с параметромshuffle=False, поэтому разбиения будут одинаковыми при каждом вызове.Различные стратегии перекрёстной проверки, которые можно использовать здесь, описаны в руководстве пользователя.
Изменено в версии 0.22: Значение
cvпо умолчанию для None изменено с 3 блоков на 5. - n_jobsint, по умолчанию None
-
Количество параллельно выполняемых заданий. Обучение оценщика и вычисление оценки выполняются параллельно для разбиений перекрёстной проверки.
Noneозначает 1, если только не используется контекстjoblib.parallel_backend.-1означает использовать все процессоры. Подробнее см. в глоссарии. - verboseint, по умолчанию 0
-
Уровень подробности вывода.
- paramsdict, по умолчанию None
-
Параметры, передаваемые базовому оценщику, его
fit, оценщику метрик и разбивателю CV.Добавлено в версии 1.4.
- pre_dispatchint или str, по умолчанию ’2*n_jobs’
-
Управляет количеством заданий, отправляемых на выполнение параллельно. Уменьшение этого числа может помочь избежать резкого роста потребления памяти, если на выполнение отправляется больше заданий, чем могут обработать процессоры. Параметр может принимать следующие значения:
- int — точное общее количество создаваемых заданий;
- str — выражение, задающее значение относительно n_jobs, например ‘2*n_jobs’.
- return_train_scorebool, по умолчанию False
-
Нужно ли включать оценки на обучающей выборке. Вычисление оценок на обучающих данных позволяет понять, как настройки различных параметров влияют на компромисс между переобучением и недообучением. Однако вычисление оценок на обучающей выборке может быть затратным с точки зрения вычислений и не является строго необходимым для выбора параметров, обеспечивающих наилучшую обобщающую способность.
Добавлено в версии 0.19.
Изменено в версии 0.21: Значение по умолчанию изменено с
TrueнаFalse - return_estimatorbool, по умолчанию False
-
Нужно ли возвращать оценщики, обученные на каждом разбиении.
Добавлено в версии 0.20.
- return_indicesbool, по умолчанию False
-
Нужно ли возвращать индексы обучающей и тестовой выборок, выбранные для каждого разбиения.
Добавлено в версии 1.3.
- error_score‘raise’ или числовое значение, по умолчанию np.nan
-
Значение, присваиваемое оценке в случае ошибки при обучении оценщика. Если задано ‘raise’, ошибка будет вызвана. Если задано числовое значение, вызывается FitFailedWarning.
Добавлено в версии 0.20.
- Возвращает:
-
- scoresсловарь массивов float формы (n_splits,)
-
Массив оценок оценщика для каждого запуска перекрёстной проверки.
Возвращается словарь массивов с оценками и временем для каждого оценщика метрик. Возможные ключи этого
dict:test_score-
Массив оценок на тестовой выборке для каждого разбиения cv. Суффикс
_scoreвtest_scoreменяется на название конкретной метрики, напримерtest_r2илиtest_auc, если в параметре scoring задано несколько метрик. train_score-
Массив оценок на обучающей выборке для каждого разбиения cv. Суффикс
_scoreвtrain_scoreменяется на название конкретной метрики, напримерtrain_r2илиtrain_auc, если в параметре scoring задано несколько метрик. Доступен, только если параметрreturn_train_scoreимеет значениеTrue. fit_time-
Время обучения оценщика на обучающей выборке для каждого разбиения cv.
score_time-
Время вычисления оценки оценщика на тестовой выборке для каждого разбиения cv. (Примечание: время вычисления оценки на обучающей выборке не включается, даже если
return_train_scoreимеет значениеTrue.) estimator-
Объекты оценщиков для каждого разбиения cv. Доступно, только если параметру
return_estimatorприсвоено значениеTrue. indices-
Позиционные индексы обучающей и тестовой выборок для каждого разбиения cv. Возвращается словарь, ключами которого являются либо
"train", либо"test", а соответствующие значения — списки массивов NumPy целочисленного типа с индексами. Доступно, только еслиreturn_indices=True.
См. также
cross_val_score-
Выполняет перекрёстную проверку для оценки по одной метрике.
cross_val_predict-
Получает прогнозы для каждого разбиения перекрёстной проверки в диагностических целях.
sklearn.metrics.make_scorer-
Создаёт оценщик метрик на основе метрики производительности или функции потерь.
Примеры
>>> from sklearn import datasets, linear_model >>> from sklearn.model_selection import cross_validate >>> diabetes = datasets.load_diabetes() >>> X = diabetes.data[:150] >>> y = diabetes.target[:150] >>> lasso = linear_model.Lasso()
Оценка по одной метрике с использованием
cross_validate>>> cv_results = cross_validate(lasso, X, y, cv=3) >>> sorted(cv_results.keys()) ['fit_time', 'score_time', 'test_score'] >>> cv_results['test_score'] array([0.3315057 , 0.08022103, 0.03531816])
Оценка по нескольким метрикам с использованием
cross_validate(подробности см. в документации параметраscoring)>>> scores = cross_validate(lasso, X, y, cv=3, ... scoring=('r2', 'neg_mean_squared_error'), ... return_train_score=True) >>> print(scores['test_neg_mean_squared_error']) [-3635.5 -3573.3 -6114.7] >>> print(scores['train_r2']) [0.28009951 0.3908844 0.22784907]
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.model_selection.cross_validate.html