sklearn.pipeline.Pipeline

class sklearn.pipeline.Pipeline

Pipeline de transformaciones con un estimador final.

Aplica secuencialmente una lista de transformaciones y un estimador final. Los pasos intermedios del pipeline deben ser “transforms”, es decir, deben implementar los métodos fit y transform. El estimador final sólo necesita implementar fit. Los transformadores en el pipeline pueden ser almacenados en caché usando el argumento memory.

El propósito del pipeline es ensamblar varios pasos que puedan ser validados de forma cruzada juntos mientras se establecen diferentes parámetros. Para ello, permite establecer los parámetros de los distintos pasos utilizando sus nombres y el nombre del parámetro separado por un “__”, como en el ejemplo más abajo. El estimador de un paso puede ser sustituido por completo estableciendo el parámetro con su nombre a otro estimador, o un transformador eliminado estableciéndolo como “passthrough” o None.

Leer más en el Manual de Usuario.

Nuevo en la versión 0.5.

Parámetros
stepslist

Lista de tuplas (nombre, transformación) (implementando fit/transform) que están encadenadas, en el orden en que se encadenan, siendo el último objeto un estimador.

memorystr u object con la interfaz joblib.Memory, default=None

Se utiliza para almacenar en caché los transformadores ajustados del pipeline. Por defecto, no se realiza ningún almacenamiento en caché. Si se da una cadena, es la ruta del directorio de caché. La activación del almacenamiento en caché provoca un clon de los transformadores antes del ajuste. Por lo tanto, la instancia del transformador dada al pipeline no puede ser inspeccionada directamente. Utiliza el atributo named_steps o steps para inspeccionar los estimadores dentro del pipeline. El almacenamiento en caché de los transformadores es ventajoso cuando el ajuste requiere mucho tiempo.

verbosebooleano, default=False

Si es True, el tiempo transcurrido durante el ajuste de cada paso se imprimirá a medida que se complete.

Atributos
named_stepsPuñado o Bunch

Objeto dictionary-like, con los siguientes atributos. Atributo de sólo lectura para acceder a cualquier parámetro del paso por el nombre dado por el usuario. Las claves son los nombres de los pasos y los valores son los parámetros de los pasos.

Ver también

make_pipeline

Función de conveniencia para la construcción simplificada de pipelines.

Ejemplos

>>> 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)
Pipeline(steps=[('scaler', StandardScaler()), ('svc', SVC())])
>>> pipe.score(X_test, y_test)
0.88

Métodos

decision_function

Aplica transformaciones, y decision_function del estimador final

fit

Ajusta el modelo

fit_predict

Aplica fit_predict del último paso en el pipeline después de las transformaciones.

fit_transform

Ajusta el modelo y transforma mediante el estimador final

get_params

Obtiene los parámetros para este estimador.

predict

Aplica transformaciones a los datos y predice con el estimador final

predict_log_proba

Aplica transformaciones, y predict_log_proba del estimador final

predict_proba

Aplica transformaciones, y predict_proba del estimador final

score

Aplica transformaciones, y puntúa con el estimador final

score_samples

Aplica transformaciones, y score_samples del estimador final.

set_params

Establece los parámetros de este estimador.

decision_function()

Aplica transformaciones, y decision_function del estimador final

Parámetros
Xiterable

Datos para predecir. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

Devuelve
y_scorearray-like de forma (n_samples, n_classes)
fit()

Ajusta el modelo

Ajusta todas las transformaciones una tras otra y transforma los datos, luego ajusta los datos transformados utilizando el estimador final.

Parámetros
Xiterable

Datos para entrenar. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

yiterable, default=None

Objetivos para entrenar. Debe cumplir con los requisitos de etiqueta para todos los pasos del pipeline.

**fit_paramsdict de string -> object

Parámetros pasados al método fit de cada paso, donde cada nombre de parámetro tiene un prefijo tal que el parámetro p para el paso s tiene la clave s__p.

Devuelve
selfPipeline

Este estimador

fit_predict()

Aplica fit_predict del último paso en el pipeline después de las transformaciones.

Aplica fit_transforms de un pipeline a los datos, seguido del método fit_predict del estimador final en el pipeline. Sólo es válido si el estimador final implementa fit_predict.

Parámetros
Xiterable

Datos para entrenar. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

yiterable, default=None

Objetivos para entrenar. Debe cumplir con los requisitos de etiqueta para todos los pasos del pipeline.

**fit_paramsdict de string -> object

Parámetros pasados al método fit de cada paso, donde cada nombre de parámetro tiene un prefijo tal que el parámetro p para el paso s tiene la clave s__p.

Devuelve
y_predarray-like
fit_transform()

Ajusta el modelo y transforma mediante el estimador final

Ajusta todas las transformaciones una tras otra y transforma los datos, luego utiliza fit_transform en los datos transformados con el estimador final.

Parámetros
Xiterable

Datos para entrenar. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

yiterable, default=None

Objetivos para entrenar. Debe cumplir con los requisitos de etiqueta para todos los pasos del pipeline.

**fit_paramsdict de string -> object

Parámetros pasados al método fit de cada paso, donde cada nombre de parámetro tiene un prefijo tal que el parámetro p para el paso s tiene la clave s__p.

Devuelve
Xtarray-like de forma (n_samples, n_transformed_features)

Muestras transformadas

get_params()

Obtiene los parámetros para este estimador.

Devuelve los parámetros dados en el constructor, así como los estimadores contenidos en los steps del Pipeline.

Parámetros
deepbooleano, default=True

Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.

Devuelve
paramsmapeo de string a cualquiera

Nombres de parámetros mapeados a sus valores.

property inverse_transform

Aplica transformaciones inversas en orden reverso

Todos los estimadores en el pipeline deben soportar inverse_transform.

Parámetros
Xtarray-like de forma (n_samples, n_transformed_features)

Muestras de datos, donde n_samples es el número de muestras y n_features es el número de características. Debe cumplir con los requisitos de entrada del último paso del método inverse_transform del pipeline.

Devuelve
Xtarray-like de forma (n_samples, n_features)
predict()

Aplica transformaciones a los datos y predice con el estimador final

Parámetros
Xiterable

Datos para predecir. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

**predict_paramsdict de string -> object

Parámetros para el predict llamado al final de todas las transformaciones en el pipeline. Ten en cuenta que aunque esto puede ser utilizado para devolver las incertidumbres de algunos modelos con return_std o return_cov, las incertidumbres que son generadas por las transformaciones en el pipeline no se propagan al estimador final.

Nuevo en la versión 0.20.

Devuelve
y_predarray-like
predict_log_proba()

Aplica transformaciones, y predict_log_proba del estimador final

Parámetros
Xiterable

Datos para predecir. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

Devuelve
y_scorearray-like de forma (n_samples, n_classes)
predict_proba()

Aplica transformaciones, y predict_proba del estimador final

Parámetros
Xiterable

Datos para predecir. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

Devuelve
y_probaarray-like de forma (n_samples, n_classes)
score()

Aplica transformaciones, y puntúa con el estimador final

Parámetros
Xiterable

Datos para predecir. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

yiterable, default=None

Objetivos utilizados para la puntuación. Deben cumplir con los requisitos de etiquetas para todos los pasos del pipeline.

sample_weightarray-like, default=None

Si no es None, este argumento se pasa como argumento de palabra clave sample_weight al método score del estimador final.

Devuelve
scorefloat
score_samples()

Aplica transformaciones, y score_samples del estimador final.

Parámetros
Xiterable

Datos para predecir. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

Devuelve
y_scorendarray de forma (n_samples,)
set_params()

Establece los parámetros de este estimador.

Las claves de parámetros válidos se pueden listar con get_params(). Ten en cuenta que puedes establecer directamente los parámetros de los estimadores contenidos en steps.

Devuelve
self
property transform

Aplica transformaciones, y transforma mediante el estimador final

Esto también funciona cuando el estimador final es None: se aplican todas las transformaciones previas.

Parámetros
Xiterable

Datos para transformar. Debe cumplir con los requisitos de entrada del primer paso del pipeline.

Devuelve
Xtarray-like de forma (n_samples, n_transformed_features)

Ejemplos utilizando sklearn.pipeline.Pipeline