Tutoriel : Entraînement d’un modèle de classification avec AutoML sans code dans Azure Machine Learning studio

Découvrez comment entraîner un modèle de classification avec AutoML sans code en utilisant le ML automatisé Azure Machine Learning dans Azure Machine Learning studio. Ce modèle de classification prédit si un client va souscrire à un compte à terme auprès d’une institution financière.

Avec le Machine Learning automatisé, vous pouvez automatiser les tâches fastidieuses. Le machine learning automatisé itère rapidement sur de nombreuses combinaisons d’algorithmes et d’hyperparamètres pour vous aider à trouver le meilleur modèle basé sur une métrique de réussite de votre choix.

Dans ce tutoriel, vous n’allez pas écrire de code. Vous allez utiliser l’interface du studio pour effectuer l’entraînement. Vous allez apprendre à effectuer les tâches suivantes :

  • Créez un espace de travail Machine Learning.
  • Exécuter une expérience de machine learning automatisé.
  • Explorez les détails du modèle.
  • Déployer le modèle recommandé.

Essayez également le machine learning automatisé pour ces autres types de modèles :

Prérequis

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit.

  • Téléchargez le fichier de données bankmarketing_train.csv. La colonne y indique si un client a souscrit à un compte à terme, qui est ensuite identifié comme colonne cible pour les prédictions de ce tutoriel.

Créer un espace de travail

Un espace de travail Azure Machine Learning est une ressource fondamentale du cloud que vous utilisez pour expérimenter, entraîner et déployer des modèles Machine Learning. Il lie votre abonnement Azure et votre groupe de ressources à un objet facile à consommer dans le service.

Dans ce tutoriel, suivez les étapes ci-dessous pour créer un espace de travail et continuez le tutoriel.

  1. Connectez-vous à Azure Machine Learning Studio.

  2. Sélectionnez Créer un espace de travail.

  3. Fournissez les informations suivantes pour configurer votre nouvel espace de travail :

Champ Description
Nom de l’espace de travail Entrez un nom unique qui identifie votre espace de travail. Dans le groupe de ressources, les noms doivent être uniques. Utilisez un nom dont il est facile de se rappeler et que vous pouvez facilement différencier des autres espaces de travail. Le nom de l’espace de travail n’est pas sensible à la casse.
Abonnement Sélectionnez l’abonnement Azure que vous souhaitez utiliser.
Resource group Utilisez un groupe de ressources existant dans votre abonnement, ou entrez un nom pour créer un groupe de ressources. Un groupe de ressources contient les ressources associées d’une solution Azure. Pour utiliser un groupe de ressources existant, vous devez disposer du rôle de contributeur ou de propriétaire. Pour plus d'informations sur l'accès, consultez Gérer l'accès à un espace de travail Azure Machine Learning.
Région Sélectionnez la région Azure la plus proche de vos utilisateurs et des ressources de données pour créer votre espace de travail.
  1. Sélectionnez Créer pour créer l’espace de travail.

Pour plus d’informations sur les ressources Azure, reportez-vous aux étapes décrites dans cet article, Créer les ressources dont vous avez besoin pour commencer.

Pour obtenir d’autres façons de créer un espace de travail dans Azure, consultez Gérer les espaces de travail Azure Machine Learning dans le portail ou avec le SDK Python (v2).

Créer une tâche Machine Learning automatisé

Vous effectuez les étapes de configuration et d’exécution d’expérience suivantes via Azure Machine Learning Studio, accessible à l’adresse https://ml.azure.com. Cette interface web centralisée comprend des outils de machine learning permettant de mettre en œuvre des scénarios de science des données pour les utilisateurs de science des données de tous niveaux de compétence. Studio n’est pas prise en charge par les navigateurs Internet Explorer.

  1. Sélectionnez votre abonnement et l’espace de travail que vous avez créé.

  2. Dans le volet gauche, sélectionnez Automated ML dans la section Authoring (Création).

    Puisqu’il s’agit de votre première expérience de ML automatisé, vous verrez une liste vide et des liens vers la documentation.

    Get started page

  3. Sélectionnez +Nouvelle tâche de ML automatisé.

Créer et charger un jeu de données en tant que ressource de données

Avant de configurer votre expérience, chargez votre fichier de données dans votre espace de travail sous la forme d’une ressource de données Azure Machine Learning. Dans le cas de ce tutoriel, vous pouvez considérer une ressource de données comme votre jeu de données pour la tâche AutoML. De cette façon, vous pouvez vérifier que la mise en forme de vos données convient à votre expérience.

  1. Pour créer une ressource de données, sélectionnez À partir de fichiers locaux dans la liste déroulante +Créer une ressource de données.

    1. Dans le formulaire Informations de base, donnez un nom unique à votre ressource de données et indiquez éventuellement une description. L’interface de ML automatisé ne prend actuellement en charge que les jeux de données tabulaires. Le type de jeu de données par défaut doit donc être Tabulaire.

    2. Sélectionnez Suivant en bas à gauche.

    3. Dans le formulaire Sélection d’un magasin de données et de fichiers, sélectionnez le magasin de données par défaut qui a été automatiquement configuré durant la création de votre espace de travail : workspaceblobstore (Stockage Blob Azure) . C’est là que vous chargerez votre fichier de données pour le rendre accessible à votre espace de travail.

    4. Sélectionnez Charger des fichiers dans le menu déroulant Charger.

    5. Choisissez le fichier bankmarketing_train.csv sur votre ordinateur local. Il s’agit du fichier que vous avez téléchargé en tant que prérequis.

    6. En bas à gauche, sélectionnez Suivant pour le charger dans le conteneur par défaut qui a été configuré automatiquement lors de la création de votre espace de travail.

      Une fois le chargement terminé, le formulaire Paramètres et aperçu est prérenseigné en fonction du type de fichier.

    7. Vérifiez que vos données sont correctement mises en forme via le formulaire Schéma. Les données doivent être remplies comme suit. Une fois que vous avez vérifié l’exactitude des données, sélectionnez Suivant.

      Champ Description Valeur pour le tutoriel
      Format de fichier Définit la disposition et le type des données stockées dans un fichier. Delimited
      Délimiteur Un ou plusieurs caractères utilisés pour spécifier la limite entre des régions indépendantes et séparées dans du texte brut ou d’autres flux de données. Comma
      Encodage Identifie la table de schéma bits/caractères à utiliser pour lire votre jeu de données. UTF-8
      En-têtes de colonne Indique la façon dont les éventuels en-têtes du jeu de données sont traités. Tous les fichiers ont les mêmes en-têtes
      Ignorer les lignes Indique le nombre éventuel de lignes ignorées dans le jeu de données. None
    8. Le formulaire Schema permet de configurer davantage vos données pour cette expérience. Pour cet exemple, sélectionnez le bouton bascule correspondant à day_of_week, afin de ne pas l’inclure. Cliquez sur Suivant. Schema form

    9. Dans le formulaire Confirmer les détails, vérifiez que les informations correspondent à celles qui ont été précédemment renseignées sur les formulaires Informations de base, Magasin de données et Sélection de fichiers et Paramètres et aperçu.

    10. Sélectionnez Créer pour terminer la création de votre jeu de données.

    11. Sélectionnez votre jeu de données une fois qu’il apparaît dans la liste.

    12. Passez en revue les données en sélectionnant la ressource de données et en examinant l’onglet Aperçu qui se remplit, pour vous assurer que vous n’avez pas inclus day_of_week, puis sélectionnez Fermer.

    13. Cliquez sur Suivant.

Configurer le travail

Une fois que vous avez chargé et configuré vos données, vous pouvez configurer votre expérience. Cette configuration comprend des tâches de conception d’expérience, comme la sélection de la taille de votre environnement de calcul et la spécification de la colonne que vous voulez prédire.

  1. Sélectionnez la case d’option Créer.

  2. Remplissez le formulaire Configurer la tâche comme suit :

    1. Entrez le nom suivant pour l’expérience : my-1st-automl-experiment

    2. Sélectionnez y comme colonne cible, ce que vous souhaitez prédire. Cette colonne indique si le client a souscrit à un compte de dépôt à terme.

    3. Sélectionnez Cluster de calcul comme type de calcul.

    4. Une cible de calcul est un environnement de ressources local ou informatique utilisé pour exécuter votre script d’entraînement ou pour héberger votre déploiement de service. Pour cette expérience, vous pouvez essayer un calcul serverless basé sur le cloud (préversion) ou créer votre propre calcul basé sur le cloud.

      1. Pour utiliser le calcul serverless, activez la fonctionnalité en préversion, sélectionnez Serverless et ignorez le reste de cette étape.
      2. Pour créer votre propre cible de calcul, sélectionnez +Nouveau pour configurer votre cible de calcul.
        1. Remplissez le formulaire Sélectionner une machine virtuelle pour configurer votre calcul.

          Champ Description Valeur pour le tutoriel
          Emplacement La région à partir de laquelle vous souhaitez exécuter la machine USA Ouest 2
          Niveau de machine virtuelle Sélectionnez la priorité que doit avoir votre expérience Dédié
          Type de machine virtuelle Sélectionnez le type de machine virtuelle pour votre calcul. Processeur (CPU)
          Taille de la machine virtuelle Sélectionnez la taille de la machine virtuelle pour votre calcul. La liste des tailles recommandées qui est fournie dépend de vos données et du type de l’expérience. Standard_DS12_V2
        2. Sélectionnez Suivant pour renseigner le formulaire Configurer les paramètres.

          Champ Description Valeur pour le tutoriel
          Nom du calcul Nom unique qui identifie votre contexte de calcul. automl-compute
          Nombre minimal/maximal de nœuds Pour profiler des données, vous devez spécifier un ou plusieurs nœuds. Nœuds min. : 1
          Nœuds max. : 6
          Secondes d’inactivité avant le scale-down Durée d’inactivité avant que le cluster ne fasse l’objet d’un scale-down vers le nombre de nœuds minimal. 120 (par défaut)
          Paramètres avancés Paramètres pour configurer et autoriser un réseau virtuel pour votre expérience. None
        3. Sélectionnez Créer pour créer votre cible de calcul.

          Quelques minutes sont nécessaires pour achever l’opération.

          Settings page

        4. Une fois la création terminée, sélectionnez votre nouvelle cible de calcul dans la liste déroulante.

    5. Sélectionnez Suivant.

  3. Dans le formulaire Sélectionner la tâche et les paramètres, effectuez la configuration pour votre expérience de Machine Learning automatisé en spécifiant les paramètres de configuration et le type de tâche de Machine Learning.

    1. Sélectionnez Classification comme type de tâche de machine learning.

    2. Sélectionnez Afficher des paramètres de configuration supplémentaires et renseignez les champs comme suit. Ces paramètres permettent de mieux contrôler le travail d’entraînement. Sinon, les valeurs par défaut sont appliquées en fonction de la sélection de l’expérience et des données.

      Configurations supplémentaires Description Valeur pour le tutoriel
      Métrique principale Métrique d’évaluation selon laquelle l’algorithme de Machine Learning sera mesuré. AUC_weighted
      Expliquer le meilleur modèle Montre automatiquement l’explicabilité sur le meilleur modèle créé par le ML automatisé. Activer
      Algorithmes bloqués Algorithmes que vous souhaitez exclure du travail de formation None
      Paramètres de classification supplémentaires Ces paramètres contribuent à améliorer la justesse de votre modèle. Étiquette de classe positive : aucune
      Critère de sortie Lorsqu’une condition est remplie, la tâche d’entraînement est arrêtée. Durée du travail d’entraînement (heures) : 1
      Seuil de score de métrique : Aucun
      Accès concurrentiel Nombre maximal d’itérations parallèles exécutées par itération Nombre maximal d’itérations simultanées : 5

      Sélectionnez Enregistrer.

    3. Sélectionnez Suivant.

  4. Dans le formulaire [Facultatif] Valider et tester,

    1. Sélectionnez la validation croisée k-fold comme Type de validation.
    2. Sélectionnez 2 comme Nombre de validations croisées.
  5. Sélectionnez Terminer pour exécuter l’expérience. L’écran Détails de l’exécution s’ouvre et affiche l’État de l’exécution dans la partie supérieure au début de la préparation de l’expérience. Cet état est mis à jour à mesure que l’expérience progresse. Les notifications s’affichent également en haut à droite de Studio pour vous informer de l’état de votre expérience.

Important

La préparation nécessaire à l’exécution de l’expérience prend 10 à 15 minutes. Une fois que l’exécution a commencé, 2-3 minutes supplémentaires sont nécessaires pour chaque itération.

Dans un environnement de production, cette durée est un peu plus longue. Toutefois, dans le cadre de ce tutoriel, nous vous suggérons de commencer à explorer les algorithmes testés dans l’onglet Modèles à mesure qu’ils se terminent, pendant que les autres sont encore en cours d’exécution.

Explorer les modèles

Accédez à l’onglet Modèles pour voir les algorithmes (modèles) testés. Par défaut, les modèles sont classés par score de métrique à mesure qu’ils se terminent. Pour ce tutoriel, le modèle qui obtient le score le plus élevé d’après la métrique AUC_weighted choisie figure en haut de la liste.

En attendant que toutes les modèles d’expérience se terminent, sélectionnez le Nom de l’algorithme d’un modèle terminé pour explorer ses performances en détail.

L’exemple suivant parcourt les onglets Détails et Métriques pour montrer les propriétés, les métriques et les graphiques de performances du modèle sélectionné.

Run iteration detail

Explications de modèle

Pendant l’exécution des modèles, vous pouvez en profiter pour examiner les explications de modèle et constater quelles fonctionnalités de données (brutes ou générées) ont influencé les prédictions d’un modèle spécifique.

Ces explications de modèle peuvent être générées à la demande et sont résumées dans le tableau de bord des explications de modèle contenu sous l’onglet Explications (aperçu).

Pour générer des explications de modèle :

  1. Sélectionnez Tâche 1 en haut pour revenir à l’écran Modèles.

  2. Sélectionnez l’onglet Modèles.

  3. Pour ce tutoriel, sélectionnez le premier modèle MaxAbsScaler, LightGBM.

  4. Sélectionnez le bouton Expliquer le modèle en haut. À droite, le volet Expliquer le modèle s’affiche.

  5. Sélectionnez le cluster automl-compute que vous avez créé précédemment. Ce cluster de calcul lance un journal enfant pour générer les explications du modèle.

  6. Sélectionnez Créer en bas. Un message de réussite en vert s’affiche en haut de votre écran.

    Notes

    La tâche d’explicabilité dure généralement de 2 à 5 minutes.

  7. Sélectionnez le bouton Explications (aperçu) . Cet onglet se remplit une fois que l’exécution d’explicabilité est effectuée.

  8. Sur le côté gauche, développez le volet et sélectionnez la ligne « RAW » sous Fonctionnalités.

  9. Sélectionnez l’onglet Agréger l’importance des caractéristiques à droite. Ce graphique montre les fonctionnalités de données qui ont influencé les prédictions du modèle sélectionné.

    Dans cet exemple, c’est la durée qui semble avoir le plus influencé les prédictions de ce modèle.

    Model explanation dashboard

Déployer le meilleur modèle

L’interface de machine learning automatisé vous permet de déployer le meilleur modèle comme service web en quelques étapes. Le déploiement consiste à intégrer le modèle pour qu’il puisse prédire de nouvelles données et identifier les domaines potentiels d’opportunités.

Dans le cadre de cette expérience, le déploiement sur un service web signifie que l’établissement financier dispose désormais d’une solution web itérative et scalable pour identifier les clients potentiels d’un compte à terme.

Vérifiez si l’exécution de votre expérience est terminée. Pour cela, revenez à la page de la tâche parent en sélectionnant Tâche 1 en haut de votre écran. Un état Terminé est affiché en haut à gauche de l’écran.

Une fois l’expérience terminée, la page Détails est renseignée avec une section Récapitulatif du meilleur modèle. Dans ce contexte d’expérience, VotingEnsemble est considéré comme le meilleur modèle d’après la métrique AUC_weighted.

Nous déployons ce modèle, mais nous vous informons que le déploiement prend 20 minutes environ. Le processus de déploiement comporte plusieurs étapes, notamment l’inscription du modèle, la génération de ressources et leur configuration pour le service web.

  1. Sélectionnez VotingEnsemble pour ouvrir la page spécifique au modèle.

  2. Sélectionnez le menu Déployer en haut à gauche, puis Déployer sur un service web.

  3. Renseignez le volet Déployer un modèle de la façon suivante :

    Champ Valeur
    Nom du déploiement my-automl-deploy
    Description du déploiement Déploiement de ma première expérience de Machine Learning automatisé
    Type de capacité de calcul Sélectionner Instance de conteneur Azure (ACI)
    Activer l’authentification Désactivez.
    Utiliser des déploiements personnalisés Désactivez. Permet de générer automatiquement le fichier de pilote par défaut (script de scoring) et le fichier d’environnement.

    Pour cet exemple, nous utilisons les valeurs par défaut fournies dans le menu Avancé.

  4. Sélectionnez Déployer.

    Un message vert de réussite apparaît en haut de l’écran Tâche et dans le volet Résumé du modèle, un message d’état s’affiche sous État du déploiement. Cliquez régulièrement sur Actualiser pour vérifier l’état du déploiement.

Vous disposez maintenant d’un service web opérationnel pour générer des prédictions.

Passez aux Étapes suivantes pour en savoir plus sur l’utilisation de votre nouveau service web et tester vos prédictions à l’aide de la prise en charge d’Azure Machine Learning intégrée dans Power BI.

Nettoyer les ressources

Les fichiers de déploiement sont plus volumineux que les fichiers de données et d’expérimentation. Le coût de leur stockage est donc plus élevé. Supprimez uniquement les fichiers de déploiement pour réduire les coûts associés à votre compte, ou si vous souhaitez conserver vos fichiers d’expérience et d’espace de travail. Dans le cas contraire, supprimez l’intégralité du groupe de ressources, si vous n’envisagez pas d’utiliser les fichiers.

Supprimer l’instance de déploiement

Supprimez uniquement l’instance de déploiement d’Azure Machine Learning (accessible à l’adresse https://ml.azure.com/) si vous souhaitez conserver le groupe de ressources et l’espace de travail pour d’autres tutoriels et à des fins d’exploration.

  1. Accéder à Azure Machine Learning. Accédez à votre espace de travail et, à gauche dans le volet Ressources, sélectionnez Points de terminaison.

  2. Sélectionnez le déploiement à supprimer et sélectionnez Supprimer.

  3. Sélectionnez Continuer.

Supprimer le groupe de ressources

Important

Les ressources que vous avez créées peuvent être utilisées comme prérequis pour d’autres tutoriels d’Azure Machine Learning et des articles de procédure.

Si vous n’avez pas l’intention d’utiliser les ressources que vous avez créées, supprimez-les pour éviter des frais :

  1. Dans le portail Azure, sélectionnez Groupes de ressources tout à gauche.

  2. Dans la liste, sélectionnez le groupe de ressources créé.

  3. Sélectionnez Supprimer le groupe de ressources.

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. Entrez le nom du groupe de ressources. Puis sélectionnez Supprimer.

Étapes suivantes

Dans ce tutoriel sur le machine learning automatisé, vous avez utilisé l’interface de ML automatisé d’Azure Machine Learning pour créer et déployer un modèle de classification. Pour plus d’informations et pour connaître les étapes suivantes, consultez ces articles :

Notes

Ce jeu de données Bank Marketing est disponible sous licence Creative Commons (CCO : domaine public). Tous les droits du contenu individuel de la base de données sont concédés sous licence du contenu de base de données et sont disponibles sur Kaggle. Ce jeu de données était initialement disponible dans la base de données Machine Learning UCI.

[Moro et al., 2014] S. Moro, P. Cortez et P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems, Elsevier, 62:22-31, Juin 2014.