Modèle scikit-learn personnalisé
Dans cet exercice, vous allez créer un modèle personnalisé à l'aide du « flavor » pyfunc de MLflow. En utilisant l'ensemble de données insurance_charges, les étiquettes doivent être changées de female à 0 et de male à 1 pour la classification pendant l'entraînement. Lors de l'utilisation du modèle, les chaînes female ou male doivent être retourné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. CustomPredict ajoute une étape supplémentaire dans la méthode predict qui remet vos étiquettes 0 et 1 à female et male lorsque le modèle reçoit une entrée. Vous utiliserez le « flavor » pyfunc pour consigner et charger votre modèle.
Notre ensemble de données insurance_charges sera prétraité et le modèle sera entraîné à l'aide de :
lr_model = LogisticRegression().fit(X_train, y_train)
Le module MLflow sera importé.
Cette activité fait partie du cours
Introduction à MLflow
Instructions de l’exercice
- Utilisez le « flavor »
pyfuncde MLflow pour consigner le modèle personnalisé. - Définissez l'argument
python_modeldepyfuncpour utiliser la classe personnaliséeCustomPredict(). - Chargez le modèle personnalisé à l'aide de
pyfunc.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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")