LoslegenKostenlos loslegen

Benutzerdefiniertes scikit-learn-Modell

In dieser Übung erstellst du ein benutzerdefiniertes Modell mit dem pyfunc-Flavor von MLflow. Beim Datensatz insurance_charges müssen die Labels für das Training zur Klassifikation von female zu 0 und von male zu 1 geändert werden. Bei der Modellauswertung sollen statt 0 oder 1 wieder die Strings female bzw. male zurückgegeben werden.

Das benutzerdefinierte Modell ist ein Klassifikationsmodell auf Basis von LogisticRegression und verwendet eine Klasse namens CustomPredict. CustomPredict fügt im predict-Verfahren einen zusätzlichen Schritt hinzu, der die Labels 0 und 1 bei der Modellausgabe wieder auf female und male zurücksetzt. Du wirst den pyfunc-Flavor zum Protokollieren und Laden deines Modells verwenden.

Unser Datensatz insurance_charges wird vorverarbeitet, und das Modell wird so trainiert:

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

Das MLflow-Modul wird importiert.

Diese Übung ist Teil des Kurses

Einführung in MLflow

Kurs anzeigen

Anleitung zur Übung

  • Verwende den pyfunc-Flavor von MLflow, um das benutzerdefinierte Modell zu protokollieren.
  • Setze das python_model-Argument von pyfunc, um die benutzerdefinierte Klasse CustomPredict() zu verwenden.
  • Lade das benutzerdefinierte Modell mit pyfunc.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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")
Code bearbeiten und ausführen