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 de exercício
- Use a variante
pyfunc
do fluxo MLpara registrar o modelo personalizado. - Defina o argumento
pyfunc
python_model
para usar a classe personalizadaCustomPredict()
. - Carregue o modelo personalizado usando
pyfunc
.
Exercício interativo prático
Experimente este exercício preenchendo 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")