Modèle scikit-learn personnalisé
Dans cet exercice, vous allez créer un modèle personnalisé en utilisant la saveur pyfunc
de MLflow. En utilisant l'ensemble de données insurance_charges
, les étiquettes doivent être modifiées de female
à 0
et de male
à 1
pour la classification pendant la formation. Lorsque vous utilisez le modèle, les chaînes de caractères female
ou male
doivent être renvoyées au lieu de 0
ou 1
.
Le modèle personnalisé est un modèle de classification basé sur LogisticRegression
et utilisera une classe appelée CustomPredict
. Le site CustomPredict
ajoute une étape supplémentaire dans la méthode predict
qui redéfinit vos étiquettes 0
et 1
en female
et male
lorsque le modèle reçoit des données. Vous utiliserez la saveur pyfunc
pour l'enregistrement et le chargement de votre modèle.
Notre ensemble de données insurance_charges
sera prétraité et le modèle sera entraîné en utilisant :
lr_model = LogisticRegression().fit(X_train, y_train)
Le module MLflow sera importé.
Cet exercice fait partie du cours
Introduction à MLflow
Instructions
- Utilisez la saveur
pyfunc
de MLflow pour enregistrer le modèle personnalisé. - Définissez l'argument
pyfunc
python_model
pour utiliser la classe personnaliséeCustomPredict()
. - Chargez le modèle personnalisé à l'aide de
pyfunc
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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")