Modelo personalizado do scikit-learn
Neste exercício, você criará um modelo personalizado usando a variante pyfunc do fluxo ML. Usando o conjunto de dados insurance_charges, os rótulos devem ser alterados de female para 0 e de male para 1 para classificação durante o treinamento. Ao usar o modelo, as cadeias de caracteres de female ou male devem ser retornadas em vez de 0 ou 1.
O modelo personalizado é um modelo de classificação baseado em LogisticRegression e usará uma classe chamada CustomPredict. O CustomPredict adiciona uma etapa adicional no método predict que define os rótulos de 0 e 1 de volta para female e male quando o modelo recebe entrada. Você usará a variante pyfunc para registrar e carregar o 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 de fluxo MLserá importado.
Este exercício faz parte do curso
Introdução ao fluxo ML
Instruções do exercício
- Use a variante
pyfuncdo fluxo MLpara registrar o modelo personalizado. - Defina o argumento
pyfuncpython_modelpara usar a classe personalizadaCustomPredict(). - Carregue o modelo personalizado 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")