Kom igångKom igång gratis

Anpassad scikit-learn-modell

I den här övningen ska du skapa en anpassad modell med MLflows pyfunc-flavor. Med datamängden insurance_charges måste etiketterna ändras från female till 0 och från male till 1 för klassificering under träningen. När modellen används ska strängarna female respektive male returneras i stället för 0 och 1.

Den anpassade modellen är en klassificeringsmodell baserad på LogisticRegression och använder en klass som heter CustomPredict. CustomPredict lägger till ett extra steg i metoden predict som konverterar etiketterna 0 och 1 tillbaka till female och male när modellen tar emot indata. Du kommer att använda pyfunc-flavorn för att logga och ladda modellen.

Datamängden insurance_charges förbehandlas och modellen tränas med:

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

MLflow-modulen importeras åt dig.

Den här övningen är en del av kursen

Introduktion till MLflow

Visa kurs

Övningsinstruktioner

  • Använd MLflows pyfunc-flavor för att logga den anpassade modellen.
  • Ange argumentet python_model i pyfunc så att det använder den anpassade klassen CustomPredict().
  • Ladda den anpassade modellen med pyfunc.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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")
Redigera och kör kod