Конвейер
- classsklearn.pipeline.Pipeline(steps, *, transform_input=None, memory=None, verbose=False)[источник]
-
Последовательность преобразователей данных с необязательным конечным предиктором.
Pipelineпозволяет последовательно применить список преобразователей для предварительной обработки данных и, при желании, завершить последовательность конечным предиктором для прогнозного моделирования.Промежуточные шаги конвейера должны быть преобразователями, то есть реализовывать методы
fitиtransform. Конечному оценщику необходимо реализовать толькоfit. Преобразователи в конвейере можно кэшировать с помощью аргументаmemory.Назначение конвейера — объединить несколько шагов, которые можно совместно проверять перекрёстной проверкой, задавая различные параметры. Для этого параметры отдельных шагов можно задавать с помощью их имён и имени параметра, разделённых
'__', как показано в примере ниже. Оценщик шага можно полностью заменить, задав параметру с его именем другой оценщик, а преобразователь — удалить, задав для него'passthrough'илиNone.Пример использования
Pipelineвместе сGridSearchCVсм. в разделе Выбор метода снижения размерности с помощью Pipeline и GridSearchCV. В примере Конвейерная обработка: объединение PCA и логистической регрессии показано, как выполнять поиск по сетке для конвейера, используя'__'в качестве разделителя в именах параметров.Подробнее см. в Руководстве пользователя.
Добавлено в версии 0.5.
- Параметры:
-
- stepslist of tuples
-
Список кортежей (имя шага, оценщик), которые будут объединены в последовательном порядке. Для совместимости с API scikit-learn все шаги должны определять
fit. Все шаги, кроме последнего, также должны определятьtransform. Подробнее см. раздел Объединение оценщиков. - transform_inputlist of str, default=None
-
Имена параметров метаданных, которые конвейер должен преобразовать перед передачей шагу, использующему их.
Это позволяет преобразовывать некоторые входные аргументы
fit(кромеX) шагами конвейера вплоть до шага, которому они нужны. Требование задаётся с помощью маршрутизации метаданных. Например, так можно передать набор для валидации через конвейер.Этот параметр можно задать, только если включена маршрутизация метаданных. Её можно включить с помощью
sklearn.set_config(enable_metadata_routing=True).Добавлено в версии 1.6.
- memorystr or object with the joblib.Memory interface, default=None
-
Используется для кэширования обученных преобразователей конвейера. Последний шаг никогда не кэшируется, даже если он является преобразователем. По умолчанию кэширование не выполняется. Если задана строка, она указывает путь к каталогу кэширования. Включение кэширования приводит к созданию копий преобразователей перед обучением. Поэтому экземпляр преобразователя, переданный конвейеру, нельзя проверить напрямую. Используйте атрибут
named_stepsилиsteps, чтобы проверить оценщики в конвейере. Кэширование преобразователей полезно, если обучение занимает много времени. Пример включения кэширования см. в разделе Кэширование ближайших соседей. - verbosebool, default=False
-
Если значение True, по завершении обучения каждого шага выводится затраченное время.
- Атрибуты:
-
-
named_stepsBunch -
Доступ к шагам по имени.
-
classes_ndarray of shape (n_classes,) -
Метки классов.
-
n_features_in_int -
Количество признаков, обнаруженных при выполнении метода
fitпервого шага. -
feature_names_in_ndarray of shape (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- decision_function(X, **params)[исходный код]
-
Преобразовать данные и применить
decision_functionс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. В конце преобразованные данные передаются конечному оценщику, который вызывает методdecision_function. Допустимо только в том случае, если конечный оценщик реализуетdecision_function.- Параметры:
-
- Xiterable
-
Данные, для которых нужно выполнить прогнозирование. Должны соответствовать требованиям к входным данным первого шага конвейера.
- **paramsdict of string -> object
-
Параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Добавлено в версии 1.4: Доступно, только если включена
enable_metadata_routing=True. Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- y_scorendarray of shape (n_samples, n_classes)
-
Результат вызова
decision_functionконечного оценщика.
- fit(X, y=None, **params)[исходный код]
-
Обучить модель.
Последовательно обучить все преобразователи один за другим и преобразовать данные. Затем обучить конечный оценщик на преобразованных данных.
- Параметры:
-
- Xiterable
-
Обучающие данные. Должны соответствовать требованиям к входным данным первого шага конвейера.
- yiterable, default=None
-
Целевые значения для обучения. Должны соответствовать требованиям к меткам всех шагов конвейера.
- **paramsdict of str -> object
-
- Если
enable_metadata_routing=False(по умолчанию): параметры передаются методуfitкаждого шага; перед именем каждого параметра добавляется префикс, поэтому параметрpдля шагаsполучает ключs__p. - Если
enable_metadata_routing=True: параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Изменено в версии 1.4: Параметры теперь также передаются методу
transformпромежуточных шагов, если они запрошены и еслиenable_metadata_routing=Trueзадано с помощьюset_config.Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Если
- Возвращает:
-
- selfobject
-
Конвейер с обученными шагами.
- fit_predict(X, y=None, **params)[исходный код]
-
Преобразовать данные и применить
fit_predictс помощью конечного оценщика.Вызвать
fit_transformкаждого преобразователя в конвейере. В конце преобразованные данные передаются конечному оценщику, который вызывает методfit_predict. Допустимо только в том случае, если конечный оценщик реализуетfit_predict.- Параметры:
-
- Xiterable
-
Обучающие данные. Должны соответствовать требованиям к входным данным первого шага конвейера.
- yiterable, default=None
-
Целевые значения для обучения. Должны соответствовать требованиям к меткам всех шагов конвейера.
- **paramsdict of str -> object
-
- Если
enable_metadata_routing=False(по умолчанию): параметры дляpredict, вызываемого после завершения всех преобразований в конвейере. - Если
enable_metadata_routing=True: параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Добавлено в версии 0.20.
Изменено в версии 1.4: Параметры теперь также передаются методу
transformпромежуточных шагов, если они запрошены и если выполнено условиеenable_metadata_routing=True.Подробнее см. в руководстве пользователя по маршрутизации метаданных.
Обратите внимание: этот метод можно использовать для возврата оценок неопределённости некоторых моделей с помощью
return_stdилиreturn_cov, однако неопределённость, возникающая при преобразованиях в конвейере, не передаётся конечному оценщику. - Если
- Возвращает:
-
- y_predndarray
-
Результат вызова
fit_predictконечного оценщика.
- fit_transform(X, y=None, **params)[исходный код]
-
Обучить модель и выполнить преобразование с помощью конечного оценщика.
Последовательно обучить все преобразователи один за другим и преобразовать данные. Допустимо только в том случае, если конечный оценщик реализует либо
fit_transform, либоfitиtransform.- Параметры:
-
- Xiterable
-
Обучающие данные. Должны соответствовать требованиям к входным данным первого шага конвейера.
- yiterable, default=None
-
Целевые значения для обучения. Должны соответствовать требованиям к меткам всех шагов конвейера.
- **paramsdict of str -> object
-
- Если
enable_metadata_routing=False(по умолчанию): параметры передаются методуfitкаждого шага; перед именем каждого параметра добавляется префикс, поэтому параметрpдля шагаsполучает ключs__p. - Если
enable_metadata_routing=True: параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Изменено в версии 1.4: Параметры теперь также передаются методу
transformпромежуточных шагов, если они запрошены и если выполнено условиеenable_metadata_routing=True.Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Если
- Возвращает:
-
- Xtndarray of shape (n_samples, n_transformed_features)
-
Преобразованные образцы.
- get_feature_names_out(input_features=None)[исходный код]
-
Получить имена признаков на выходе преобразования.
Преобразовать входные признаки с помощью конвейера.
- Параметры:
-
- input_featuresarray-like of str or None, default=None
-
Входные признаки.
- Возвращает:
-
- feature_names_outndarray of str objects
-
Имена преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Получить настройки маршрутизации метаданных этого объекта.
Описание работы механизма маршрутизации см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRouter
-
Объект
MetadataRouter, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценщика.
Возвращает параметры, заданные в конструкторе, а также оценщики, содержащиеся в
stepsобъектаPipeline.- Параметры:
-
- deepbool, default=True
-
Если значение True, будут возвращены параметры этого оценщика и содержащихся в нём объектов, которые являются оценщиками.
- Возвращает:
-
- paramsmapping of string to any
-
Имена параметров, сопоставленные с их значениями.
- inverse_transform(X, **params)[исходный код]
-
Применить
inverse_transformдля каждого шага в обратном порядке.Все оценщики в конвейере должны поддерживать
inverse_transform.- Параметры:
-
- Xarray-like of shape (n_samples, n_transformed_features)
-
Образцы данных, где
n_samples— количество образцов, аn_features— количество признаков. Должны соответствовать требованиям к входным данным методаinverse_transformпоследнего шага конвейера. - **paramsdict of str -> object
-
Параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Добавлено в версии 1.4: Доступно, только если включена
enable_metadata_routing=True. Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- X_originalndarray of shape (n_samples, n_features)
-
Данные после обратного преобразования, то есть данные в исходном пространстве признаков.
- propertynamed_steps
-
Доступ к шагам по имени.
Атрибут только для чтения, предоставляющий доступ к шагу по заданному имени. Ключи — имена шагов, значения — объекты шагов.
- predict(X, **params)[исходный код]
-
Преобразовать данные и применить
predictс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. В конце преобразованные данные передаются конечному оценщику, который вызывает методpredict. Допустимо только в том случае, если конечный оценщик реализуетpredict.- Параметры:
-
- Xiterable
-
Данные, для которых нужно выполнить прогнозирование. Должны соответствовать требованиям к входным данным первого шага конвейера.
- **paramsdict of str -> object
-
- Если
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_predndarray
-
Результат вызова
predictконечного оценщика.
- predict_log_proba(X, **params)[исходный код]
-
Преобразовать данные и применить
predict_log_probaс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. В конце преобразованные данные передаются конечному оценщику, который вызывает методpredict_log_proba. Допустимо только в том случае, если конечный оценщик реализуетpredict_log_proba.- Параметры:
-
- Xiterable
-
Данные, для которых нужно выполнить прогнозирование. Должны соответствовать требованиям к входным данным первого шага конвейера.
- **paramsdict of str -> object
-
- Если
enable_metadata_routing=False(по умолчанию): параметры дляpredict_log_proba, вызываемого после завершения всех преобразований в конвейере. - Если
enable_metadata_routing=True: параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Добавлено в версии 0.20.
Изменено в версии 1.4: Параметры теперь также передаются методу
transformпромежуточных шагов, если они запрошены и если выполнено условиеenable_metadata_routing=True.Подробнее см. в руководстве пользователя по маршрутизации метаданных.
- Если
- Возвращает:
-
- y_log_probandarray of shape (n_samples, n_classes)
-
Результат вызова
predict_log_probaконечного оценщика.
- predict_proba(X, **params)[исходный код]
-
Преобразовать данные и применить
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)[исходный код]
-
Преобразовать данные и вычислить
scoreс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. Затем преобразованные данные передаются конечному оценщику, который вызывает методscore. Допустимо, только если конечный оценщик реализуетscore.- Параметры:
-
- Xитерируемый объект
-
Данные для прогнозирования. Должны соответствовать требованиям к входным данным первого шага конвейера.
- yитерируемый объект, по умолчанию=None
-
Целевые значения для оценки. Должны соответствовать требованиям к меткам всех шагов конвейера.
- sample_weightмассивоподобный объект, по умолчанию=None
-
Если аргумент не равен None, он передаётся как именованный аргумент
sample_weightметодуscoreконечного оценщика. - **paramsсловарь str -> object
-
Параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Добавлено в версии 1.4: Доступно, только если
enable_metadata_routing=True. Подробнее см. в Руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- scoreчисло с плавающей точкой
-
Результат вызова
scoreконечного оценщика.
- score_samples(X)[исходный код]
-
Преобразовать данные и вычислить
score_samplesс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. Затем преобразованные данные передаются конечному оценщику, который вызывает методscore_samples. Допустимо, только если конечный оценщик реализуетscore_samples.- Параметры:
-
- Xитерируемый объект
-
Данные для прогнозирования. Должны соответствовать требованиям к входным данным первого шага конвейера.
- Возвращает:
-
- y_scorendarray формы (n_samples,)
-
Результат вызова
score_samplesконечного оценщика.
- set_callbacks(*callbacks)[исходный код]
-
Задать функции обратного вызова для оценщика.
- Параметры:
-
- *callbacksэкземпляры функций обратного вызова
-
Функции обратного вызова, которые нужно задать.
- Возвращает:
-
- selfэкземпляр оценщика
-
Сам экземпляр оценщика.
- set_output(*, transform=None)[исходный код]
-
Задать контейнер выходных данных, используемый при вызове
"transform"и"fit_transform".Вызов
set_outputзадаст формат выходных данных для всех оценщиков вsteps.- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настроить формат выходных данных
transformиfit_transform.-
"default": формат выходных данных преобразователя по умолчанию -
"pandas": выходные данные в формате DataFrame -
"polars": выходные данные в формате Polars -
None: конфигурация преобразования не изменяется
Добавлено в версии 1.4: Добавлен параметр
"polars". -
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_params(**kwargs)[исходный код]
-
Задать параметры этого оценщика.
Допустимые ключи параметров можно получить с помощью
get_params(). Обратите внимание, что можно напрямую задавать параметры оценщиков, содержащихся вsteps.- Параметры:
-
- **kwargsсловарь
-
Параметры этого оценщика или параметры оценщиков, содержащихся в
steps. Параметры шагов можно задать, указав его имя и имя параметра, разделённые символами ‘__’.
- Возвращает:
-
- selfобъект
-
Экземпляр класса Pipeline.
- set_score_request(*, sample_weight:bool|None|str='$UNCHANGED$') Pipeline[исходный код]
-
Настроить, следует ли запрашивать передачу метаданных методу
score.Обратите внимание, что этот метод имеет значение только тогда, когда данный оценщик используется как подчинённый оценщик внутри метаоценщика и маршрутизация метаданных включена с помощью
enable_metadata_routing=True(см.sklearn.set_config). О том, как работает механизм маршрутизации, см. в Руководстве пользователя.Для каждого параметра доступны следующие варианты:
-
True: метаданные запрашиваются и передаются вscore, если они предоставлены. Если метаданные не предоставлены, запрос игнорируется. -
False: метаданные не запрашиваются, и метаоценщик не передаёт их вscore. -
None: метаданные не запрашиваются, и метаоценщик вызовет ошибку, если пользователь их предоставит. -
str: метаданные следует передавать метаоценщику под указанным псевдонимом вместо исходного имени.
Значение по умолчанию (
sklearn.utils.metadata_routing.UNCHANGED) сохраняет существующий запрос. Это позволяет изменить запрос для одних параметров, не затрагивая другие.Добавлено в версии 1.3.
- Параметры:
-
- sample_weightstr, True, False или None, по умолчанию=sklearn.utils.metadata_routing.UNCHANGED
-
Маршрутизация метаданных для параметра
sample_weightвscore.
- Возвращает:
-
- selfобъект
-
Обновлённый объект.
-
- transform(X, **params)[исходный код]
-
Преобразовать данные и применить
transformс помощью конечного оценщика.Вызвать
transformкаждого преобразователя в конвейере. Затем преобразованные данные передаются конечному оценщику, который вызывает методtransform. Допустимо, только если конечный оценщик реализуетtransform.Метод также работает, если конечный оценщик —
None; в этом случае применяются все предыдущие преобразования.- Параметры:
-
- Xитерируемый объект
-
Данные для преобразования. Должны соответствовать требованиям к входным данным первого шага конвейера.
- **paramsсловарь str -> object
-
Параметры, запрошенные и принимаемые шагами. Каждый шаг должен запросить определённые метаданные, чтобы эти параметры были ему переданы.
Добавлено в версии 1.4: Доступно, только если
enable_metadata_routing=True. Подробнее см. в Руководстве пользователя по маршрутизации метаданных.
- Возвращает:
-
- Xtndarray формы (n_samples, n_transformed_features)
-
Преобразованные данные.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.pipeline.Pipeline.html