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
- Cada paso es un par (name, estimator); el último predice.
fitajusta cada paso en orden solo con los datos de entrenamiento.make_pipelinenombra los pasos según sus clases.
Palabras clave y builtins usados aquí
print
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.
Paso 4 de 4 en Preprocesamiento; paso 7 de 25 en Machine learning con scikit-learn.