Пайплайн
- классsklearn.pipeline.Pipeline(steps, *, transform_input=None, memory=None, verbose=False)[source]
-
Последовательность преобразователей данных с необязательным конечным предиктором.
Pipelineпозволяет последовательно применять список преобразователей для предобработки данных и, при необходимости, завершить последовательность конечным предиктором для предсказательного моделирования.Промежуточные шаги пайплайна должны быть преобразователями, то есть они должны реализовывать
fitиtransformметоды. Конечный оценщик только должен реализовыватьfit. Преобразователи в пайплайне могут быть кэшированы с помощьюmemoryаргумента.Цель пайплайна — собрать несколько шагов, которые могут быть перекрестно проверены вместе, при этом устанавливая различные параметры. Для этого он позволяет задавать параметры различных шагов, используя их имена и имя параметра, разделенные
'__', как в примере ниже. Оценщик шага может быть полностью заменен установкой параметра с его именем на другого оценщика, или преобразователь может быть удален, установив его в'passthrough'илиNone.Пример использования
Pipelineв сочетании сGridSearchCVсм. в Выбор уменьшения размерности с помощью Pipeline и GridSearchCV. Пример Пайплайнизация: объединение PCA и логистической регрессии демонстрирует, как выполнить поиск по сетке в пайплайне, используя'__'в качестве разделителя в именах параметров.Подробнее см. в Руководстве пользователя.
Добавлена в версии 0.5.
- Параметры:
-
- stepsсписок кортежей
-
Список кортежей (имя шага, оценщик), которые должны быть объединены в последовательном порядке. Для совместимости с API scikit-learn все шаги должны определять
fit. Все шаги, кроме последнего, также должны определятьtransform. Дополнительные сведения см. в разделе Объединение оценщиков. - transform_inputсписок строк, по умолчанию = None
-
Имена параметров метаданных, которые должны быть преобразованы пайплайном перед передачей в шагу, потребляющем их.
Это позволяет преобразовать некоторые входные аргументы в
fit(кромеX) для преобразования шагами пайплайна до шага, который их требует. Требование определяется посредством маршрутизации метаданных. Например, это можно использовать для передачи проверочного набора через пайплайн.Вы можете установить это только если маршрутизация метаданных включена, что можно сделать, используя
sklearn.set_config(enable_metadata_routing=True).Добавлена в версии 1.6.
- memoryстрока или объект с интерфейсом joblib.Memory, по умолчанию = None
-
Используется для кэширования обученных преобразователей пайплайна. Последний шаг никогда не будет кэширован, даже если это преобразователь. По умолчанию кэширование не выполняется. Если задана строка, это путь к каталогу кэширования. Включение кэширования приводит к клонированию преобразователей до обучения. Поэтому экземпляр преобразователя, переданный в пайплайн, нельзя напрямую проверить. Используйте атрибут
named_stepsилиstepsдля проверки оценщиков в пайплайне. Кэширование преобразователей выгодно, когда обучение занимает много времени. См. Кэширование ближайших соседей для примера включения кэширования. - verbosebool, по умолчанию = False
-
Если True, время, затраченное на обучение каждого шага, будет выводиться по мере его завершения.
- Атрибуты:
-
-
named_stepsBunch -
Доступ к шагам по имени.
-
classes_массив формы (n_classes,) -
Метки классов.
-
n_features_in_int -
Количество признаков, увиденных во время первого шага
fitметода. -
feature_names_in_массив формы (n_features_in_,) -
Имена признаков, увиденные во время первого шага
fitметода.
-
См. также
make_pipeline-
Удобная функция для упрощенного создания пайплайна.
Примеры
>>> from sklearn.svm import SVC >>> from sklearn.preprocessing import StandardScaler >>> from sklearn.datasets import make_classification >>> from sklearn.model_selection import train_test_split >>> from sklearn.pipeline import Pipeline >>> X, y = make_classification(random_state=0) >>> X_train, X_test, y_train, y_test = train_test_split(X, y, ... random_state=0) >>> pipe = Pipeline([('scaler', StandardScaler()), ('svc', SVC())]) >>> # The pipeline can be used as any other estimator >>> # and avoids leaking the test set into the train set >>> pipe.fit(X_train, y_train).score(X_test, y_test) 0.88 >>> # An estimator's parameter can be set using '__' syntax >>> pipe.set_params(svc__C=10).fit(X_train, y_train).score(X_test, y_test) 0.76- свойствоclasses_
-
Метки классов. Существует только если последний шаг — классификатор.
- decision_function(X, **params)[source]
-
Преобразует данные и применяет
decision_functionс помощью конечного оценщика.Вызывает
transformкаждого преобразователя в пайплайне. Преобразованные данные, в конечном итоге, передаются в конечный оценщик, который вызываетdecision_functionметод. Действительно только если конечный оценщик реализуетdecision_function.- Параметры:
-
- Xитерируемый
-
Данные для предсказания. Должен удовлетворять требованиям ввода первого шага пайплайна.
- **paramsсловарь строка -> объект
-
Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определенные метаданные, чтобы эти параметры были переданы им.
Добавлена в версии 1.4: Доступно только если
enable_metadata_routing=True. См. Руководство пользователя по маршрутизации метаданных для получения дополнительных сведений.
- Возвращает:
-
- y_scoreмассив формы (n_samples, n_classes)
-
Результат вызова
decision_functionв конечном оценщике.
- свойствоfeature_names_in_
-
Имена признаков, увиденные во время первого шага
fitметода.
- fit(X, y=None, **params)[source]
-
Обучить модель.
Обучает все преобразователи поочерёдно и последовательно преобразует данные. В заключение обучает преобразованные данные с помощью конечного оценщика.
- Параметры:
-
- Xитерируемый объект
-
Обучающие данные. Должны соответствовать требованиям к вводу первого шага конвейера.
- yитерируемый объект, по умолчанию=None
-
Обучающие метки. Должны соответствовать требованиям к меткам для всех шагов конвейера.
- **paramsсловарь str -> объект
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры, передаваемые в методfitкаждого шага, где каждое имя параметра префиксруется таким образом, что параметрpдля шагаsимеет ключs__p. - Если
enable_metadata_routing=True: Запрашиваемые и принимаемые шагами параметры. Каждый шаг должен запросить определённые метаданные для этих параметров, чтобы они были переданы им.
Изменено в версии 1.4: Параметры теперь передаются в метод
transformпромежуточных шагов тоже, если это запрошено, и еслиenable_metadata_routing=Trueустановлено черезset_config.См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.
- Если
- Возвращаемые значения:
-
- selfобъект
-
Конвейер с обученными шагами.
- fit_predict(X, y=None, **params)[source]
-
Преобразует данные и применяет
fit_predictс помощью конечного оценщика.Вызывает
fit_transformкаждого преобразователя в конвейере. Преобразованные данные в конечном итоге передаются в конечный оценщик, который вызывает методfit_predict. Действительно только если конечный оценщик реализуетfit_predict.- Параметры:
-
- Xитерируемый объект
-
Обучающие данные. Должны соответствовать требованиям к вводу первого шага конвейера.
- yитерируемый объект, по умолчанию=None
-
Обучающие метки. Должны соответствовать требованиям к меткам для всех шагов конвейера.
- **paramsсловарь str -> объект
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры дляpredict, вызываемого в конце всех преобразований в конвейере. - Если
enable_metadata_routing=True: Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определённые метаданные для этих параметров, чтобы они были переданы им.
Добавлена в версии 0.20.
Изменено в версии 1.4: Параметры теперь передаются в метод
transformпромежуточных шагов тоже, если это запрошено, и еслиenable_metadata_routing=True.См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.
Обратите внимание, что, хотя это может быть использовано для возврата неопределённостей от некоторых моделей с
return_stdилиreturn_cov, неопределённости, которые генерируются преобразованиями в конвейере, не передаются в конечный оценщик. - Если
- Возвращаемые значения:
-
- y_predмассив NumPy
-
Результат вызова
fit_predictна конечном оценщике.
- fit_transform(X, y=None, **params)[source]
-
Обучает модель и преобразует с помощью конечного оценщика.
Обучает все преобразователи поочерёдно и последовательно преобразует данные. Действительно только если конечный оценщик либо реализует
fit_transformилиfitиtransform.- Параметры:
-
- Xитерируемый объект
-
Обучающие данные. Должны соответствовать требованиям к вводу первого шага конвейера.
- yитерируемый объект, по умолчанию=None
-
Обучающие метки. Должны соответствовать требованиям к меткам для всех шагов конвейера.
- **paramsсловарь str -> объект
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры, передаваемые в методfitкаждого шага, где каждое имя параметра префиксруется таким образом, что параметрpдля шагаsимеет ключs__p. - Если
enable_metadata_routing=True: Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определённые метаданные для этих параметров, чтобы они были переданы им.
Изменено в версии 1.4: Параметры теперь передаются в метод
transformпромежуточных шагов тоже, если это запрошено, и еслиenable_metadata_routing=True.См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.
- Если
- Возвращаемые значения:
-
- Xtмассив NumPy формы (n_samples, n_transformed_features)
-
Преобразованные образцы.
- get_feature_names_out(input_features=None)[source]
-
Получить имена выходных признаков для преобразования.
Преобразовать входные признаки с помощью конвейера.
- Параметры:
-
- input_featuresмассив-подобный объект str или None, по умолчанию=None
-
Входные признаки.
- Возвращаемые значения:
-
- feature_names_outмассив объектов str
-
Преобразованные имена признаков.
- get_metadata_routing()[source]
-
Получить маршрутизацию метаданных этого объекта.
Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.
- Возвращаемые значения:
-
- routingMetadataRouter
-
Объект
MetadataRouterс информацией о маршрутизации.
- get_params(deep=True)[source]
-
Получить параметры этого оценщика.
Возвращает параметры, заданные в конструкторе, а также оценщики, содержащиеся внутри
stepsPipeline.- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, вернет параметры для этого оценщика и вложенных подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsотображение строки на любой тип
-
Имена параметров, сопоставленные со значениями.
- inverse_transform(X=None, *, Xt=None, **params)[source]
-
Применить
inverse_transformдля каждого шага в обратном порядке.Все оценщики в конвейере должны поддерживать
inverse_transform.- Параметры:
-
- Xмассив-подобный формы (n_samples, n_transformed_features)
-
Образцы данных, где
n_samples- количество образцов, аn_features- количество признаков. Должны соответствовать требованиям ввода к методуinverse_transformпоследнего шага конвейера. - Xtмассив-подобный формы (n_samples, n_transformed_features)
-
Образцы данных, где
n_samples- количество образцов, аn_features- количество признаков. Должны соответствовать требованиям ввода к методуinverse_transformпоследнего шага конвейера.Устаревшая начиная с версии 1.5:
Xtустарела в версии 1.5 и будет удалена в 1.7. ИспользуйтеXвместо этого. - **paramsсловарь str -> объект
-
Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определенные метаданные для передачи этих параметров.
Добавлена в версии 1.4: Доступна только если
enable_metadata_routing=True. Подробнее см. в Руководство по маршрутизации метаданных.
- Возвращает:
-
- Xtмассив ndarray формы (n_samples, n_features)
-
Данные обратного преобразования, то есть данные в исходном пространстве признаков.
- свойствоn_features_in_
-
Количество признаков, увиденных на первом шаге метода
fit.
- свойствоnamed_steps
-
Доступ к шагам по имени.
Только для чтения атрибут для доступа к любому шагу по заданному имени. Ключи - имена шагов, значения - объекты шагов.
- predict(X, **params)[source]
-
Преобразуйте данные и примените
predictс конечным оценщиком.Вызовите
transformкаждого преобразователя в конвейере. Преобразованные данные в конечном итоге передаются конечному оценщику, который вызывает методpredict. Действительно только если конечный оценщик реализуетpredict.- Параметры:
-
- Xитерируемый
-
Данные для прогнозирования. Должны соответствовать требованиям ввода первого шага конвейера.
- **paramsсловарь str -> объект
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры вызоваpredictв конце всех преобразований в конвейере. - Если
enable_metadata_routing=True: Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определенные метаданные для передачи этих параметров.
Добавлена в версии 0.20.
Изменено в версии 1.4: Параметры теперь также передаются методу
transformпромежуточных шагов, если запрошены, и еслиenable_metadata_routing=Trueустановлено черезset_config.Подробнее см. в Руководство по маршрутизации метаданных.
Обратите внимание, что, хотя это может быть использовано для возврата неопределенностей от некоторых моделей с
return_stdилиreturn_cov, неопределенности, сгенерированные преобразованиями в конвейере, не передаются конечному оценщику. - Если
- Возвращает:
-
- y_predмассив ndarray
-
Результат вызова
predictна конечном оценщике.
- predict_log_proba(X, **params)[source]
-
Преобразуйте данные и примените
predict_log_probaс конечным оценщиком.Вызовите
transformкаждого преобразователя в конвейере. Преобразованные данные в конечном итоге передаются конечному оценщику, который вызывает методpredict_log_proba. Действительно только если конечный оценщик реализуетpredict_log_proba.- Параметры:
-
- Xитерируемый
-
Данные для прогнозирования. Должны соответствовать требованиям ввода первого шага конвейера.
- **paramsсловарь str -> объект
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры вызоваpredict_log_probaв конце всех преобразований в конвейере. - Если
enable_metadata_routing=True: Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определенные метаданные для передачи этих параметров.
Добавлена в версии 0.20.
Изменено в версии 1.4: Параметры теперь также передаются методу
transformпромежуточных шагов, если запрошены, и еслиenable_metadata_routing=True.Подробнее см. в Руководство по маршрутизации метаданных.
- Если
- Возвращает:
-
- y_log_probaмассив ndarray формы (n_samples, n_classes)
-
Результат вызова
predict_log_probaна конечном оценщике.
- predict_proba(X, **params)[source]
-
Преобразовать данные и применить
predict_probaс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. Преобразованные данные в конечном итоге передаются в конечный оценщик, который вызываетpredict_probaметод. Действительно только если конечный оценщик реализуетpredict_proba.- Параметры:
-
- Xiterable
-
Данные для предсказания. Должны удовлетворять требованиям ввода первого шага конвейера.
- **paramsdict of str -> object
-
- Если
enable_metadata_routing=False(по умолчанию): Параметры дляpredict_probaвызываемого в конце всех преобразований в конвейере. - Если
enable_metadata_routing=True: Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определенные метаданные, чтобы эти параметры были переданы им.
Добавлен в версии 0.20.
Изменено в версии 1.4: Параметры теперь передаются методу
transformпромежуточных шагов, если они запрошены и еслиenable_metadata_routing=True.См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.
- Если
- Возвращает:
-
- y_probandarray of shape (n_samples, n_classes)
-
Результат вызова
predict_probaконечного оценщика.
- score(X, y=None, sample_weight=None, **params)[source]
-
Преобразовать данные и применить
scoreс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. Преобразованные данные в конечном итоге передаются в конечный оценщик, который вызываетscoreметод. Действительно только если конечный оценщик реализуетscore.- Параметры:
-
- Xiterable
-
Данные для предсказания. Должны удовлетворять требованиям ввода первого шага конвейера.
- yiterable, default=None
-
Цели, используемые для оценки. Должны удовлетворять требованиям меток для всех шагов конвейера.
- sample_weightarray-like, default=None
-
Если не None, этот аргумент передается как
sample_weightключевой аргумент методуscoreконечного оценщика. - **paramsdict of str -> object
-
Параметры, запрошенные и принятые шагами. Каждый шаг должен запросить определенные метаданные, чтобы эти параметры были переданы им.
Добавлен в версии 1.4: Доступен только если
enable_metadata_routing=True. См. Руководство пользователя по маршрутизации метаданных для получения более подробной информации.
- Возвращает:
-
- scorefloat
-
Результат вызова
scoreконечного оценщика.
- score_samples(X)[source]
-
Преобразовать данные и применить
score_samplesс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. Преобразованные данные в конечном итоге передаются в конечный оценщик, который вызываетscore_samplesметод. Действительно только если конечный оценщик реализуетscore_samples.- Параметры:
-
- Xiterable
-
Данные для предсказания. Должны удовлетворять требованиям ввода первого шага конвейера.
- Возвращает:
-
- y_scorendarray of shape (n_samples,)
-
Результат вызова
score_samplesконечного оценщика.
- set_output(*, transform=None)[source]
-
Установить контейнер вывода, когда вызываются
"transform"и"fit_transform".Вызов
set_outputустановит вывод всех оценщиков вsteps.- Параметры:
-
- transform{“default”, “pandas”, “polars”}, default=None
-
Настроить вывод
transformиfit_transform.-
"default": Формат вывода по умолчанию преобразователя -
"pandas": Вывод DataFrame -
"polars": Вывод Polars -
None: Конфигурация преобразования не изменяется
Добавлен в версии 1.4:
"polars"вариант был добавлен. -
- Возвращает:
-
- selfestimator instance
-
Экземпляр оценщика.
- set_params(**kwargs)[source]
-
Установить параметры этого оценщика.
Список допустимых ключей параметров можно получить с помощью
get_params(). Обратите внимание, что вы можете напрямую установить параметры оценщиков, содержащихся вsteps.- Параметры:
-
- **kwargsdict
-
Параметры этого оценщика или параметры оценщиков, содержащихся в
steps. Параметры шагов могут быть установлены с использованием их имени и имени параметра, разделенных символом ‘__’.
- Возвращает:
-
- selfobject
-
Экземпляр класса Pipeline.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') Pipeline[source]
-
Запрос метаданных, передаваемых методу
score.Обратите внимание, что этот метод актуален только если
enable_metadata_routing=True(см.sklearn.set_config). См. Руководство пользователя для ознакомления с механизмом маршрутизации.Варианты для каждого параметра:
-
True: запрашиваются метаданные и передаются методуscoreпри их наличии. Запрос игнорируется, если метаданные не предоставлены. -
False: метаданные не запрашиваются, и мета-эстиматор не передаст их методуscore. -
None: метаданные не запрашиваются, и мета-эстиматор вызовет ошибку, если пользователь их предоставит. -
str: метаданные должны передаваться мета-эстиматору с указанным псевдонимом вместо исходного названия.
По умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, не затрагивая другие.Добавлена в версии 1.3.
Примечание
Этот метод актуален только если этот эстиматор используется как под-эстиматор мета-эстиматора, например, внутри
Pipeline. В противном случае он не оказывает никакого влияния.- Parameters:
-
- sample_weightstr, True, False, or None, default=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Returns:
-
- selfobject
-
Обновлённый объект.
-
- transform(X, **params)[source]
-
Преобразует данные и применяет
transformс помощью конечного эстиматора.Вызывает
transformкаждого преобразователя в конвейере. Преобразованные данные в конечном итоге передаются конечному эстиматору, который вызывает методtransform. Действительно только если конечный эстиматор реализуетtransform.Также работает, если конечный эстиматор
None, в этом случае применяются все предыдущие преобразования.- Parameters:
-
- Xiterable
-
Данные для преобразования. Должны соответствовать требованиям входных данных первого шага конвейера.
- **paramsdict of str -> object
-
Параметры, запрошенные и принятые этапами. Каждый этап должен запросить определённые метаданные для передачи этих параметров.
Добавлена в версии 1.4: Доступно только если
enable_metadata_routing=True. См. Руководство пользователя по маршрутизации метаданных для получения дополнительных сведений.
- Returns:
-
- Xtndarray of shape (n_samples, n_transformed_features)
-
Преобразованные данные.
Примеры из галереи
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.pipeline.Pipeline.html