Spec-Zone.ru › scikit-learn

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')[source]

Генерация перекрёстно-валидированных оценок для каждой точки входных данных.

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

Передача этих прогнозов в метрику оценки может не быть корректным способом измерения обобщающей производительности. Результаты могут отличаться от cross_validate и cross_val_score, если все наборы для тестирования не имеют одинакового размера, и метрика не разлагается по образцам.

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

Parameters:
estimatorestimator

Экземпляр оценщика, используемый для обучения данных. Он должен реализовывать метод fit и метод, заданный параметром method.

X{array-like, sparse matrix} of shape (n_samples, n_features)

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

y{array-like, sparse matrix} of shape (n_samples,) or (n_samples, n_outputs), default=None

Переменная целевого результата, которую необходимо предсказать в случае задач контролируемого обучения.

groupsarray-like of shape (n_samples,), default=None

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

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

cvint, cross-validation generator or an iterable, default=None

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

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

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

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

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

n_jobsint, default=None

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

verboseint, default=0

Уровень подробности.

paramsdict, default=None

Параметры, передаваемые методу fit базового оценщика и разделителю CV.

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

pre_dispatchint or str, default=’2*n_jobs’

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

  • None, в этом случае все задачи создаются и запускаются сразу. Используйте это для лёгких и быстро выполняющихся задач, чтобы избежать задержек из-за запроса создания задач по требованию.
  • Целое число, задающее точное количество созданных задач.
  • Строка, задающая выражение как функцию от n_jobs, как в ‘2*n_jobs’.
method{‘predict’, ‘predict_proba’, ‘predict_log_proba’, ‘decision_function’}, default=’predict’

Метод, который должен вызываться estimator.

Returns:
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. Для обеспечения конечного результата мы приближаем отрицательную бесконечность к минимальному конечному плавающему значению для типа данных в других случаях.

Примеры

>>> 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)

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

Комбинирование предикторов с использованием стекинга

Графическое представление прогнозов с перекрёстной проверкой

© 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_predict.html

Spec-Zone.ru

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