IniziaInizia gratis

Modello scikit-learn personalizzato

In questo esercizio creerai un modello personalizzato utilizzando l'opzione pyfunc di MLflow. Utilizzando il dataset insurance_charges, le etichette devono essere cambiate da female a 0 e da male a 1 per la classificazione durante la formazione. Quando si utilizza il modello, le stringhe female o male devono essere restituite al posto di 0 o 1.

Il modello personalizzato è un modello di classificazione basato su LogisticRegression e utilizzerà una classe chiamata CustomPredict. CustomPredict aggiunge un passaggio supplementare nel metodo predict che imposta le etichette di 0 e 1 su female e male quando il modello riceve l'input. Utilizzerai il sapore di pyfunc per registrare e caricare il tuo modello.

Il nostro dataset insurance_charges sarà preprocessato e il modello sarà addestrato utilizzando:

lr_model = LogisticRegression().fit(X_train, y_train)

Il modulo MLflow verrà importato.

Questo esercizio fa parte del corso

Introduzione a MLflow

Visualizza il corso

Istruzioni dell'esercizio

  • Usa l'opzione pyfunc di MLflow per registrare il modello personalizzato.
  • Imposta l'argomento pyfunc python_model per utilizzare la classe personalizzata CustomPredict().
  • Carica il modello personalizzato usando pyfunc.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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")
Modifica ed esegui il codice