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 de ejercicio
- Utiliza el sabor
pyfunc
de MLflow para registrar el modelo personalizado. - Establece el argumento
pyfunc
python_model
para utilizar la clase personalizadaCustomPredict()
. - 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")