CommencerCommencer gratuitement

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 le jeu de données insurance_charges, les étiquettes doivent être converties 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 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. CustomPredict ajoute une étape supplémentaire dans la méthode predict qui remplace les étiquettes 0 et 1 par female et male lorsque le modèle reçoit des données en entrée. Vous utiliserez le flavor pyfunc pour consigner (log) et charger votre modèle.

Notre jeu de données insurance_charges sera prétraité et le modèle sera entraîné avec :

lr_model = LogisticRegression().fit(X_train, y_train)

Le module MLflow sera importé.

Cet exercice fait partie du cours

Introduction à MLflow

Afficher le cours

Instructions

  • Utilisez le flavor pyfunc de MLflow pour consigner (log) le modèle personnalisé.
  • Renseignez l’argument python_model de pyfunc pour utiliser la classe personnalisée CustomPredict().
  • Chargez le modèle personnalisé avec 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")
Modifier et exécuter le code