typestar

Pipelines en Python

Un pipeline encadena preprocesamiento y modelo en un estimador, y nada se filtra.

from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline, make_pipeline
from sklearn.preprocessing import StandardScaler

nombrado = Pipeline([
    ("scale", StandardScaler()),
    ("model", LogisticRegression(max_iter=200)),
])

rapido = make_pipeline(StandardScaler(), LogisticRegression())

X = [[0.0, 1.0], [1.0, 0.5], [2.0, 0.0], [3.0, 0.5]]
y = [0, 0, 1, 1]

nombrado.fit(X, y)
print(nombrado.predict([[1.5, 0.25]]))
print(nombrado.named_steps["scale"].mean_)
print(rapido.fit(X, y).score(X, y))

Cómo funciona

  1. Cada paso es un par (name, estimator); el último predice.
  2. fit ajusta cada paso en orden solo con los datos de entrenamiento.
  3. make_pipeline nombra los pasos según sus clases.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
18
Caracteres a escribir
526
Tokens
154
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 88 segundos.

Escribe este fragmento

Paso 4 de 4 en Preprocesamiento; paso 7 de 25 en Machine learning con scikit-learn.

← Anterior Siguiente →

Pipelines en otros lenguajes