LoslegenKostenlos loslegen

Benutzerdefiniertes Scikit-Learn-Modell

In dieser Übung erstellst du ein benutzerdefiniertes Modell mit der MLflow-Variante pyfunc. Bei der Verwendung des Datensatzes insurance_charges müssen die Labels für die Klassifizierung während des Trainings von female in 0 und von male in 1 geändert werden. Bei der Verwendung des Modells müssen die Zeichenketten von female oder male anstelle von 0 oder 1 zurückgegeben werden.

Das benutzerdefinierte Modell ist ein Klassifizierungsmodell, das auf LogisticRegression basiert und eine Klasse namens CustomPredict verwendet. CustomPredict fügt einen zusätzlichen Schritt in der Methode predict hinzu, der deine Labels 0 und 1 auf female und male zurücksetzt, wenn das Modell Eingaben erhält. Du wirst pyfunc für das Protokollieren und Laden deines Modells verwenden.

Unser insurance_charges Datensatz wird vorverarbeitet und das Modell wird damit 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 MLflow's pyfunc flavor, um das benutzerdefinierte Modell zu protokollieren.
  • Setze das Argument pyfunc python_model, um die benutzerdefinierte Klasse CustomPredict() zu verwenden.
  • Lade das benutzerdefinierte Modell mit pyfunc.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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