ComeçarComece de graça

Modelo customizado do scikit-learn

Neste exercício, você vai criar um modelo customizado usando o flavor pyfunc do MLflow. Usando o conjunto de dados insurance_charges, os rótulos devem ser alterados de female para 0 e de male para 1 para a classificação durante o treinamento. Ao usar o modelo, as strings female ou male devem ser retornadas em vez de 0 ou 1.

O modelo customizado é um modelo de Classificação baseado em LogisticRegression e usará uma classe chamada CustomPredict. A CustomPredict adiciona uma etapa extra no método predict que converte seus rótulos 0 e 1 de volta para female e male quando o modelo recebe entrada. Você usará o flavor pyfunc para registrar (logar) e carregar o seu modelo.

Nosso conjunto de dados insurance_charges será pré-processado e o modelo será treinado usando:

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

O módulo do MLflow será importado.

Este exercício faz parte do curso

Introdução ao MLflow

Ver curso

Instruções do exercício

  • Use o flavor pyfunc do MLflow para registrar o modelo customizado.
  • Defina o argumento python_model do pyfunc para usar a classe customizada CustomPredict().
  • Carregue o modelo customizado usando pyfunc.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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")
Editar e executar o código