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
Instruções do exercício
- Use o flavor
pyfuncdo MLflow para registrar o modelo customizado. - Defina o argumento
python_modeldopyfuncpara usar a classe customizadaCustomPredict(). - 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")