cross_val_predict
- sklearn.model_selection.cross_val_predict(estimator, X, y=None, *, groups=None, cv=None, n_jobs=None, verbose=0, params=None, pre_dispatch='2*n_jobs', method='predict')[исходный код]
-
Создает оценки с перекрестной проверкой для каждой входной точки данных.
Данные разделяются в соответствии с параметром cv. Каждый образец входит ровно в одну тестовую выборку, а его прогноз вычисляется с помощью оценщика, обученного на соответствующей обучающей выборке.
Передача этих прогнозов в метрику оценки может быть некорректным способом измерения обобщающей способности. Результаты могут отличаться от
cross_validateиcross_val_score, если только все тестовые выборки не имеют одинаковый размер, а метрика не раскладывается по образцам.Подробнее см. в руководстве пользователя.
- Параметры:
-
- estimatorоценщик
-
Экземпляр оценщика, используемый для обучения на данных. Он должен реализовывать метод
fitи метод, указанный параметромmethod. - X{массивоподобный объект, разреженная матрица} формы (n_samples, n_features)
-
Данные для обучения. Например, это может быть список или массив размерности не менее 2.
- y{массивоподобный объект, разреженная матрица} формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
-
Целевая переменная, которую требуется предсказать в случае обучения с учителем.
- groupsмассивоподобный объект формы (n_samples,), по умолчанию=None
-
Метки групп для образцов, используемые при разделении набора данных на обучающую и тестовую выборки. Используется только совместно с экземпляром «Group» cv (например,
GroupKFold).Изменено в версии 1.4:
groupsможно передавать, только если маршрутизация метаданных не включена с помощьюsklearn.set_config(enable_metadata_routing=True). Если маршрутизация включена, передавайтеgroupsвместе с другими метаданными через аргументparams. Например:cross_val_predict(..., params={'groups': groups}). - cvцелое число, генератор перекрестной проверки или итерируемый объект, по умолчанию=None
-
Определяет стратегию разбиения при перекрестной проверке. Для cv возможны следующие значения:
- None — использовать перекрестную проверку по умолчанию с 5 блоками,
- целое число — указать количество блоков в
(Stratified)KFold, - разбиватель перекрестной проверки,
- итерируемый объект, генерирующий разделения (train, test) в виде массивов индексов.
Если указано целое число или None, а оценщик является классификатором и
yимеет значение binary или multiclass, используетсяStratifiedKFold. Во всех остальных случаях используетсяKFold. Эти разби́ватели создаются с параметромshuffle=False, поэтому при каждом вызове разбиения будут одинаковыми.Различные стратегии перекрестной проверки, которые можно использовать здесь, описаны в руководстве пользователя.
Изменено в версии 0.22: значение
cvпо умолчанию для None изменено с 3 блоков на 5. - n_jobsцелое число, по умолчанию=None
-
Количество параллельно выполняемых задач. Обучение оценщика и прогнозирование выполняются параллельно для разных разбиений перекрестной проверки.
Noneозначает 1, если только не используется контекстjoblib.parallel_backend.-1означает использовать все процессоры. Подробнее см. в глоссарии. - verboseцелое число, по умолчанию=0
-
Уровень подробности вывода.
- paramsdict, по умолчанию=None
-
Параметры, передаваемые базовому оценщику в
fitи разби́вателю перекрестной проверки.Добавлено в версии 1.4.
- pre_dispatchцелое число или строка, по умолчанию=’2*n_jobs’
-
Определяет количество задач, отправляемых на выполнение при параллельной обработке. Уменьшение этого числа может помочь избежать чрезмерного расхода памяти, когда задач отправляется больше, чем процессоры могут обработать. Параметр может принимать следующие значения:
- None — все задачи сразу создаются и запускаются. Используйте это значение для легковесных и быстро выполняемых задач, чтобы избежать задержек из-за запуска задач по мере необходимости
- целое число, задающее точное общее количество запускаемых задач
- строка, задающая выражение через n_jobs, например ‘2*n_jobs’
- method{‘predict’, ‘predict_proba’, ‘predict_log_proba’, ‘decision_function’}, по умолчанию=’predict’
-
Метод, вызываемый посредством
estimator.
- Возвращает:
-
- predictionsndarray
-
Результат вызова
method. Форма:- Когда
methodимеет значение ‘predict’, а также в частном случае, когдаmethodимеет значение ‘decision_function’ и целевая переменная бинарная: (n_samples,) - Когда
methodимеет одно из значений {‘predict_proba’, ‘predict_log_proba’, ‘decision_function’} (кроме указанного выше частного случая): (n_samples, n_classes) - Если
estimatorявляется многовыходной, к концу каждой из указанных выше форм добавляется дополнительное измерение ‘n_outputs’.
- Когда
См. также
cross_val_score-
Вычисляет оценку для каждого разбиения перекрестной проверки.
cross_validate-
Вычисляет одну или несколько оценок и время выполнения для каждого разбиения перекрестной проверки.
Примечания
Если в обучающей части отсутствует один или несколько классов, всем экземплярам каждого такого класса необходимо присвоить оценку по умолчанию, если
methodвозвращает столбцы для каждого класса, как в случаях {‘decision_function’, ‘predict_proba’, ‘predict_log_proba’}. Дляpredict_probaэто значение равно 0. Чтобы гарантировать конечность результата, в остальных случаях мы приближаем отрицательную бесконечность минимальным конечным значением типа float для соответствующего типа данных.Примеры
>>> from sklearn import datasets, linear_model >>> from sklearn.model_selection import cross_val_predict >>> diabetes = datasets.load_diabetes() >>> X = diabetes.data[:150] >>> y = diabetes.target[:150] >>> lasso = linear_model.Lasso() >>> y_pred = cross_val_predict(lasso, X, y, cv=3)
Подробный пример использования
cross_val_predictдля визуализации ошибок прогнозирования см. в разделе Построение графиков прогнозов с перекрестной проверкой.
Примеры из галереи
© 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_val_predict.html