CommencerCommencer gratuitement

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

Afficher le cours

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ée CustomPredict().
  • 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")
Modifier et exécuter le code