Modelo scikit-learn personalizado
En este ejercicio vas a crear un modelo personalizado utilizando el sabor pyfunc de MLflow. Utilizando el conjunto de datos insurance_charges, las etiquetas deben cambiarse de female a 0 y de male a 1 para la clasificación durante el entrenamiento. Al utilizar el modelo, deben devolverse las cadenas de female o male en lugar de 0 o 1.
El modelo personalizado es un modelo de Clasificación basado en LogisticRegression y utilizará una Clase llamada CustomPredict. El CustomPredict añade un paso adicional en el método predict que devuelve sus etiquetas de 0 y 1 a female y male cuando el modelo recibe la entrada. Utilizarás pyfunc flavor para registrar y cargar tu modelo.
Nuestro conjunto de datos insurance_charges se preprocesará y el modelo se entrenará utilizando:
lr_model = LogisticRegression().fit(X_train, y_train)
Se importará el módulo MLflow.
Este ejercicio forma parte del curso
Introducción a MLflow
Instrucciones del ejercicio
- Utiliza el sabor
pyfuncde MLflow para registrar el modelo personalizado. - Establece el argumento
pyfuncpython_modelpara utilizar la clase personalizadaCustomPredict(). - Carga el modelo personalizado utilizando
pyfunc.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Log the pyfunc model
____.____.____(
artifact_path="lr_pyfunc",
# Set model to use CustomPredict Class
python_model=____,
artifacts={"lr_model": "lr_model"}
)
run = mlflow.last_active_run()
run_id = run.info.run_id
# Load the model in python_function format
loaded_model = ____.____.____(f"runs:/{run_id}/lr_pyfunc")