ComenzarEmpieza gratis

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

Ver curso

Instrucciones de ejercicio

  • Utiliza el sabor pyfunc de MLflow para registrar el modelo personalizado.
  • Establece el argumento pyfunc python_model para utilizar la clase personalizada CustomPredict().
  • Carga el modelo personalizado utilizando pyfunc.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este 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")
Editar y ejecutar código