Zacznij terazZacznij za darmo

Niestandardowy model scikit-learn

W tym ćwiczeniu stworzysz niestandardowy model przy użyciu smaku pyfunc biblioteki MLflow. Korzystając ze zbioru danych insurance_charges, etykiety muszą zostać zmienione z female na 0 oraz z male na 1 na potrzeby klasyfikacji podczas treningu. Gdy korzystasz z modelu, zamiast wartości 0 i 1 powinny być zwracane ciągi znaków female lub male.

Niestandardowy model to model klasyfikacji oparty na LogisticRegression, który wykorzystuje klasę CustomPredict. Klasa CustomPredict dodaje dodatkowy krok w metodzie predict – przekształca etykiety 0 i 1 z powrotem na female i male, gdy model otrzymuje dane wejściowe. Do rejestrowania i ładowania modelu użyjesz smaku pyfunc.

Zbiór danych insurance_charges zostanie wstępnie przetworzony, a model wytrenowany przy użyciu:

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

Moduł MLflow zostanie zaimportowany.

To ćwiczenie jest częścią kursu

Wprowadzenie do MLflow

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj smaku pyfunc biblioteki MLflow, aby zarejestrować niestandardowy model.
  • Ustaw argument python_model smaku pyfunc tak, aby korzystał z niestandardowej klasy CustomPredict().
  • Załaduj niestandardowy model przy użyciu pyfunc.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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")
Edytuj i uruchom kod