6 votos

Despliegue del modelo: ¿exportar la tubería de Scikit Learn o sólo el modelo?

Siguiendo las mejores prácticas de ML, utilizo Scikit Pipelines para asegurarme de que el preprocesamiento de mis datos es el mismo en cada iteración de desarrollo del modelo.

Además, como mejor práctica, una vez que he completado el desarrollo del modelo, vuelvo a entrenar el mejor modelo con los hiperparámetros elegidos en todo el conjunto de datos.

Ahora, para preparar un despliegue a producción, estoy tratando de entender si debo exportar el modelo elegido en sí mismo, o todo el objeto Pipeline? Querría aplicar exactamente los mismos pasos de preprocesamiento en producción, ¿correcto?

4voto

kanimbla Puntos 23

Hay que exportar el modelo que incluye la lista de transformadores definidos por el pipeline y el estimador final.

Por poner un ejemplo sencillo:

from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.datasets import load_boston
from sklearn.pipeline import Pipeline

X, y = load_boston(return_X_y=True)
pipe = Pipeline(steps=[('scaler', StandardScaler()), ('linreg', LinearRegression())])
pipe.fit(X, y)

Ahora puedes guardar tu modelo, por ejemplo, a través de pickle para utilizarlo en producción:

import pickle
s = pickle.dumps(pipe)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X