Spec-Zone.ru › scikit-learn

Пайплайн

класс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]

Получить параметры этого оценщика.

Возвращает параметры, заданные в конструкторе, а также оценщики, содержащиеся внутри steps Pipeline.

Параметры:
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)

Преобразованные данные.

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

Агломерация признаков против выбора по одному признаку

Трубопровод ANOVA SVM

Рекурсивное исключение признаков

Регрессия Пуассона и потеря ненормального распределения

Важность перестановки против важности признаков случайного леса (MDI)

Отображение конвейеров

Явное приближение отображения функций для ядер RBF

Балансировка сложности модели и перекрестной оценки

Образец конвейера для извлечения и оценки признаков текста

Недообучение против переобучения

Кэширование ближайших соседей

Сравнение классификации ближайших соседей с и без анализа компонентов окрестностей

Классификация ближайших соседей

Признаки ограниченной машины Больцмана для классификации цифр

Трансформатор столбцов с разнородными источниками данных

Трансформатор столбцов со смешанными типами

Объединение нескольких методов извлечения признаков

Настройка конвейера: цепочка PCA и логистической регрессии

Выбор уменьшения размерности с помощью конвейера и GridSearchCV

Внутренняя кросс-валидация Target Encoder

Полусупервизированная классификация на текстовом наборе данных

SVM-ANOVA: SVM с унивариантным отбором признаков

© 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

Spec-Zone.ru

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