¿Cuál es la diferencia entre tubería y make_pipeline en scikit?

En general, una canalización de aprendizaje automático es una serie de pasos, ejecutados en orden para automatizar los flujos de trabajo de aprendizaje automático. Una serie de pasos incluyen entrenar, dividir e implementar el modelo.

Tubería

Se utiliza para ejecutar el proceso secuencialmente y ejecutar los pasos, transformadores o estimadores que se nombran manualmente. Los transformadores y los estimadores son los parámetros para ajustar el modelo y ajustar la precisión del modelo.

Sintaxis: clase sklearn.pipeline.Pipeline(pasos, *, memoria=Ninguno, detallado=Falso)

Nota: En la sintaxis anterior, los pasos (se pueden representar como una array) se representan como una secuencia de funciones que se ejecutarán para completar la tarea.

Ejemplo:

Aquí vamos a crear una canalización utilizando los métodos Pipeline().

Python3

# import required modules
import numpy as np
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
  
# declare X, used as a feature with 
# nested array
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
  
# declare y as target variable
y = np.array([9, 10, 11, 12])
  
# pipeline is created using Pipeline()
pipe = Pipeline([('std_sc', StandardScaler()),
                 ('svc_', SVC(gamma='auto'))])
pipe.fit(X, y)

Producción:

 

hacer_tubería

make_pipleine es un método avanzado en scikit learn, en el que el nombramiento de los estimadores o transformadores se realiza automáticamente.

Sintaxis: sklearn.pipeline.make_pipeline(*pasos, memoria=Ninguno, detallado=Falso)

Ejemplo:

Aquí vamos a hacer una canalización usando los métodos make_pipeline().

Python3

# import required modules
import numpy as np
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
  
# declare X, used as a feature with 
# nested array
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
  
# declare y as target variable
y = np.array([9, 10, 11, 12])
  
# pipeline is created using make_pipeline()
mp = make_pipeline(StandardScaler(),
                   SVC(gamma='auto'))
mp.fit(X, y)

Producción:

 

Tabla de diferencia entre tubería y make_pipeline en scikit

tubería

hacer_tubería

La canalización requiere nombrar los pasos manualmente.  make_pipeline nombra los pasos automáticamente. 
Los nombres se definen explícitamente, sin reglas. Los nombres se generan automáticamente utilizando una regla sencilla (minúsculas del estimador).
Los nombres no se pueden cambiar en función del transformador o estimador utilizado.  Los nombres son legibles, cortos y fáciles de entender, y se pueden cambiar según el estimador utilizado.

Publicación traducida automáticamente

Artículo escrito por sujithrabaskaran y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *