cross_val_predict#
- sklearn.model_selection.cross_val_predict(estimator, X, y=None, *, группы=None, cv=None, n_jobs=None, verbose=0, params=None, pre_dispatch='2*n_jobs', метод='predict')[источник]#
Генерировать перекрёстно-валидированные оценки для каждой точки входных данных.
Данные разделяются в соответствии с параметром cv. Каждый образец принадлежит ровно одному тестовому набору, и его прогноз вычисляется с помощью оценщика, обученного на соответствующем обучающем наборе.
Передача этих предсказаний в метрику оценки может не быть допустимым способом измерения обобщающей способности. Результаты могут отличаться от
cross_validateиcross_val_scoreесли только все тестовые наборы не имеют одинакового размера и метрика раскладывается по выборкам.Подробнее в Руководство пользователя.
- Параметры:
- estimatorestimator
Экземпляр оценщика, используемый для обучения данных. Он должен реализовывать
fitметод и метод, заданныйmethodпараметр.- X{array-like, sparse matrix} формы (n_samples, n_features)
Данные для обучения. Могут быть, например, списком или массивом размерностью не менее 2d.
- y{array-like, sparse matrix} формы (n_samples,) или (n_samples, n_outputs), по умолчанию=None
Целевая переменная, которую пытаются предсказать в случае обучения с учителем.
- группыarray-like формы (n_samples,), по умолчанию=None
Метки групп для образцов, используемых при разделении набора данных на обучающую/тестовую выборки. Используется только в сочетании с "Group" cv экземпляр (например,
GroupKFold).Изменено в версии 1.4:
groupsможет быть передан только если маршрутизация метаданных не включена черезsklearn.set_config(enable_metadata_routing=True). Когда маршрутизация включена, передайтеgroupsнаряду с другими метаданными черезparamsаргумента вместо этого. Например:cross_val_predict(..., params={'groups': groups}).- cvint, генератор кросс-валидации или итерируемый объект, по умолчанию=None
Определяет стратегию разделения для перекрестной проверки. Возможные значения для cv:
None, чтобы использовать стандартную 5-кратную перекрестную проверку,
int, чтобы указать количество фолдов в
(Stratified)KFold,Итерируемый объект, генерирующий (обучающие, тестовые) разбиения как массивы индексов.
Для целочисленных/None входов, если оценщик является классификатором и
yявляется либо бинарным, либо многоклассовым,StratifiedKFoldиспользуется. Во всех остальных случаяхKFoldиспользуется. Эти сплиттеры создаются сshuffle=Falseтак что разбиения будут одинаковыми при всех вызовах.Обратитесь Руководство пользователя для различных стратегий перекрестной проверки, которые можно использовать здесь.
Изменено в версии 0.22:
cvзначение по умолчанию, если None изменено с 3-кратного на 5-кратное.- n_jobsint, default=None
Количество задач для параллельного выполнения. Обучение оценщика и предсказание распараллеливаются по разбиениям кросс-валидации.
Noneозначает 1, если только не вjoblib.parallel_backendконтекст.-1означает использование всех процессоров. См. Глоссарий для получения дополнительной информации.- verboseint, по умолчанию=0
Уровень подробности вывода.
- paramsdict, по умолчанию=None
Параметры для передачи в базовый оценщик
fitи разделитель перекрестной проверки.Добавлено в версии 1.4.
- pre_dispatchint или str, по умолчанию=’2*n_jobs’
Управляет количеством задач, отправляемых во время параллельного выполнения. Уменьшение этого числа может быть полезно для избежания взрыва потребления памяти, когда отправляется больше задач, чем процессоров может обработать. Этот параметр может быть:
None, в этом случае все задачи немедленно создаются и запускаются. Используйте это для легковесных и быстро выполняемых задач, чтобы избежать задержек из-за запуска задач по требованию
Целое число, указывающее точное количество создаваемых заданий
Строка, дающая выражение как функцию от n_jobs, например, '2*n_jobs'
- метод{'predict', 'predict_proba', 'predict_log_proba', 'decision_function'}, по умолчанию='predict'
Метод, который должен быть вызван
estimator.
- Возвращает:
- предсказанияndarray
Это результат вызова
method. Форма:Когда
method— это ‘predict’ и в особом случае, когдаmethodравно 'decision_function' и цель бинарная: (n_samples,)Когда
methodявляется одним из {'predict_proba', 'predict_log_proba', 'decision_function'} (если не особый случай выше): (n_samples, n_classes)Если
estimatorявляется multioutput, дополнительное измерение 'n_outputs' добавляется в конец каждой из указанных выше форм.
Смотрите также
cross_val_scoreРассчитать оценку для каждого разделения CV.
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)
Для подробного примера использования
cross_val_predictдля визуализации ошибок прогнозирования, пожалуйста, смотрите Построение перекрестно проверенных предсказаний.