MulaiMulai sekarang secara gratis

Custom scikit-learn model

In this exercise you are going to create a custom model using MLflow's pyfunc flavor. Using the insurance_charges dataset, the labels must be changed from female to 0 and male to 1 for classification during training. When using the model, the strings of female or male must be returned instead of 0 or 1.

The custom model is a Classification model based on LogisticRegression and will use a Class called CustomPredict. The CustomPredict adds an additional step in the predict method that sets your labels of 0 and 1 back to female and male when the model receives input. You will be using pyfunc flavor for logging and loading your model.

Our insurance_charges dataset will be preprocessed and model will be trained using:

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

The MLflow module will be imported.

Latihan ini adalah bagian dari kursus

Introduction to MLflow

Lihat Kursus

Petunjuk latihan

  • Use MLflow's pyfunc flavor to log the custom model.
  • Set pyfunc python_model argument to use the Custom Class CustomPredict().
  • Load the custom model using pyfunc.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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")
Edit dan Jalankan Kode