CommencezCommencez 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 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

Voir le cours

Instructions de l’exercice

  • Utilisez le « flavor » pyfunc de MLflow pour consigner le modèle personnalisé.
  • Définissez l'argument python_model de pyfunc pour utiliser la classe personnalisée CustomPredict().
  • 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")
Modifier et exécuter le code