Tutoriel 3 : Déployer un modèle de risque de crédit – Machine Learning Studio (classique)
S’APPLIQUE À : Machine Learning Studio (classique) Azure Machine Learning
Important
Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.
À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.
- Consultez les informations sur le déplacement des projets de machine learning de ML Studio (classique) à Azure Machine Learning.
- En savoir plus sur Azure Machine Learning
La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.
Dans ce tutoriel, vous étudiez de manière approfondie le processus de développement d’une solution d’analyse prédictive. Vous développez un modèle simple dans Machine Learning Studio (classique). Vous déployez ensuite le modèle en tant que service web Machine Learning. Ce modèle déployé peut effectuer des prédictions à l’aide de nouvelles données. Ce tutoriel est le troisième tutoriel d’une série qui en compte trois.
Supposons que vous deviez prédire le risque lié à l'octroi d'un crédit à un individu sur la base des informations fournies lors d'une demande de crédit.
L’évaluation du risque de crédit est un problème complexe, mais ce tutoriel va le simplifier un peu. Vous allez l’utiliser comme exemple de création d’une solution d’analyse prédictive à l’aide de Machine Learning Studio (classique). Vous allez utiliser Machine Learning Studio (classique) et un service web Machine Learning pour cette solution.
Dans ce tutoriel en trois parties, vous commencez avec des données de risque crédit disponibles publiquement. Ensuite, vous développez et entraînez un modèle prédictif. Enfin, vous déployez le modèle en tant que service web.
Dans la première partie du tutoriel, vous avez créé un espace de travail Machine Learning Studio (classique), chargé des données et créé une expérience.
Dans la deuxième partie du tutoriel, vous avez effectué l’apprentissage des modèles, et les avez évalués.
Dans cette partie du tutoriel, vous allez effectuer les opérations suivantes :
- Préparer le déploiement
- Déployer le service web
- Test du service web
- Gérer le service web
- Accéder au service web
Prérequis
Effectuez la deuxième partie du tutoriel.
Préparer le déploiement
Pour que d’autres personnes puissent utiliser le modèle prédictif que vous avez développé dans ce tutoriel, vous pouvez le déployer en tant que service web sur Azure.
Jusqu’à présent, vous avez testé l’expérience de l’entraînement de votre modèle. Mais le service déployé n’effectue plus l’apprentissage ; il va produire de nouvelles prédictions en évaluant l’entrée de l’utilisateur en fonction de notre modèle. Nous allons donc effectuer quelques préparatifs pour convertir cette expérience d’apprentissage en expérience prédictive.
La préparation pour le déploiement est un processus en trois étapes :
- Supprimer l’un des modèles
- Convertir l’expérience d’entraînement que vous avez créée en expérience prédictive
- Déploiement de l’expérience prédictive sous la forme d’un service web
Supprimer l’un des modèles
Tout d’abord, vous devez réduire un peu cette expérience. Vous disposez actuellement de deux modèles différents dans l’expérience, mais vous ne voulez utiliser qu’un seul modèle au moment de déployer cette expérience en tant que service web.
Supposons que vous ayez décidé que le modèle d’arbre optimisé est plus adapté que le modèle SVM. La première chose à faire est de supprimer le module Machine à vecteurs de support à deux classes, ainsi que les modules qui ont été utilisés pour sa formation. Vous pouvez d'abord copier l'expérience en cliquant sur Enregistrer sous dans la partie inférieure de la zone de dessin.
Vous devez supprimer les modules suivants :
- Machine à vecteurs de support à deux classes
- Modules Former le modèle et Noter le modèle qui lui étaient connectés
- Normaliser les données (les deux)
- Évaluer le modèle (puisque nous avons terminé d’évaluer les modèles)
Sélectionnez chaque module et appuyez sur la touche Suppr, ou cliquez avec le bouton droit sur le module puis sélectionnez Supprimer.
Notre modèle doit alors ressembler à ceci :
À présent, nous sommes prêts à déployer ce modèle avec le module Arbre de décision optimisé à deux classes.
Convertir l'expérience de formation en expérience prédictive
Pour préparer ce modèle pour le déploiement, vous devez convertir cette expérience d’entraînement en expérience prédictive. Cela implique trois étapes :
- Enregistrer le modèle que vous avez entraîné, puis remplacer vos modules d’entraînement
- Réduire l’expérience en supprimant les modules uniquement nécessaires à l’apprentissage
- Définir où le service web doit accepter l’entrée et où il génère la sortie
Vous pourriez effectuer cette opération manuellement, mais heureusement, il est possible d’accomplir ces trois étapes en cliquant sur Configurer le service web en bas du canevas de l’expérience (puis en sélectionnant l’option Service web prédictif).
Conseil
Pour en savoir plus sur ce qui se passe quand vous convertissez une expérience de formation en une expérience de prévision, consultez Guide pratique pour préparer votre modèle au déploiement dans Machine Learning Studio (classique).
Lorsque vous cliquez sur Configurer le service web, plusieurs choses se produisent :
- Le modèle formé est converti en un module Modèle formé et stocké dans la palette de modules située à gauche de la zone de dessin de l’expérience (sous Modèles formés).
- Les modules utilisés pour l’entraînement sont supprimés ; spécifiquement:
- Arbre de décision optimisé à deux classes
- Former le modèle
- Fractionner les données
- Deuxième module Exécuter le script R utilisé pour les données de test
- Le modèle formé enregistré est rajouté à l’expérience.
- Les modules Entrée du service web et Sortie du service web sont ajoutés (ils identifient où les données de l’utilisateur entrent dans le modèle, ainsi que les données renvoyées lors de l’accès au service web)
Remarque
Vous constatez que l’expérience est enregistrée en deux parties, sous les onglets ajoutés en haut de la zone de dessin. L’expérience de formation d’origine se trouve sous l’onglet Expérience de formation, tandis que l’expérience prédictive tout juste créée est sous Expérience prédictive. L’expérience prédictive est celle que vous déployez sous la forme d’un service web.
Vous devez effectuer une étape supplémentaire avec cette expérience particulière. Vous avez ajouté deux modules Exécuter un script R pour pondérer les données. Cette opération n’étant nécessaire que pour l’entraînement et le test, vous pouvez retirer ces modules du modèle final. Machine Learning Studio (classique) a supprimé un module Exécuter le script R lors de la suppression du module Fractionner. Vous pouvez à présent supprimer l’autre et connecter Éditeur de métadonnées directement à Noter le modèle.
Notre expérience doit alors ressembler à cela :
Remarque
Vous vous demandez peut-être pourquoi vous avez laissé le jeu de données Données de carte de crédit allemande UCI dans l’expérience prédictive. Comme ce service va utiliser les données de l’utilisateur et non le jeu de données d’origine, pourquoi conserver ce dernier dans le modèle ?
Il est vrai que ce service n'a pas besoin des données de la carte de crédit d'origine. Mais il a besoin du schéma pour ces données, incluant des informations telles que le nombre de colonnes et lesquelles sont numériques. Ces informations sur le schéma sont indispensables pour interpréter les données de l’utilisateur. Vous laissez ces composants connectés de façon à ce que le module de notation dispose du schéma du jeu de données quand le service est en cours d’exécution. Les données ne sont pas utilisées, uniquement le schéma.
Il est important de noter que si votre jeu de données d’origine contenait l’étiquette, alors le schéma attendu à partir de l’entrée web s’attend aussi à une colonne portant l’étiquette ! Un moyen de contourner ce problème consiste à supprimer l’étiquette et toutes les autres données dans le jeu de données d’apprentissage, mais pas dans les entrées web, avant de connecter l’entrée web et le jeu de données d’apprentissage à un module commun.
Exécutez l’expérience une dernière fois (cliquez sur Exécuter.) Si vous souhaitez vérifier que le modèle fonctionne toujours, cliquez sur la sortie du module Score Model et sélectionnez Afficher les résultats. Vous constatez que les données d’origine sont affichées, ainsi que la valeur du risque sur le crédit (« Étiquettes notées ») et la probabilité de la notation (« Probabilités notées »).
Déployer le service web
Vous pouvez déployer l’expérience en tant que service web classique ou nouveau service web basé sur Azure Resource Manager.
Déployer comme un service web classique
Pour déployer un service web classique dérivé de notre expérience, cliquez sur Déployer le service web sous la zone de dessin, puis sélectionnez Déployer le service web [Classique]. Machine Learning Studio (classique) déploie l’expérience en tant que service web et vous amène au tableau de bord associé à ce service web. Depuis cette page, vous pouvez revenir à l’expérience (Afficher l’instantané ou Afficher les données les plus récentes) et exécuter un test simple du service web (voir Tester le service web, ci-dessous). Vous y trouverez également des informations sur la création d’applications pouvant accéder au service web (l’étape suivante de ce tutoriel aborde ce point plus en détail).
Vous pouvez configurer le service en cliquant sur l’onglet CONFIGURATION . Ici, vous pouvez modifier le nom du service (il reçoit le nom de l’expérience par défaut) et lui donner une description. Vous pouvez également attribuer des étiquettes plus significatives aux données d’entrée et de sortie.
Déployer comme un nouveau service web
Remarque
Pour déployer un nouveau service web, vous devez disposer d’autorisations suffisantes dans l’abonnement dans lequel vous déployez le service web. Pour en savoir plus, consultez Gérer un service web à l’aide du portail des services web Machine Learning.
Pour déployer un nouveau service web dérivé de notre expérience :
Cliquez sur Déployer le service web sous la zone de dessin, puis sélectionnez Déployer le service web [nouveau]. Machine Learning Studio (classique) vous redirige vers la page Déployer l’expérience des services web Machine Learning.
Entrez un nom pour le service Web.
Dans Price Plan (Plan de tarification), choisissez un plan de tarification ou sélectionnez « Créer », nommez le nouveau plan et sélectionnez l’option de plan mensuel. Les niveaux de plan s’appliquent par défaut aux plans de votre région par défaut et votre service web est déployé dans cette région.
Cliquez sur Déployer.
Après quelques minutes, la page Démarrage rapide de votre service web s’ouvre.
Vous pouvez configurer le service en cliquant sur l’onglet Configurer . Ici, vous pouvez modifier le titre du service et lui donner une description.
Pour tester le service web, cliquez sur l’onglet Tester (consultez Tester le service web ci-dessous). Pour plus d’informations sur la création d’applications pouvant accéder au service web, cliquez sur l’onglet Consommer (l’étape suivante de ce tutoriel aborde ce point plus en détail).
Conseil
Vous pouvez mettre à jour le service web après l’avoir déployé. Par exemple, si vous souhaitez modifier votre modèle, modifiez l’expérience de formation, ajustez les paramètres du modèle, cliquez sur Déployer le service web, puis sélectionnez Déployer le service web [Classic] ou Déployer le service web [Nouveau]. Lorsque vous redéployez l’expérience, le service web est remplacé par votre modèle mis à jour.
Test du service web
Dans le service web, les données de l’utilisateur transitent par le module Entrée du service web puis par le module Noter le modèle où elles sont notées. Selon votre configuration de l’expérience prédictive, le modèle attend des données du même format que le jeu de données de risque de crédit d’origine. Les résultats sont renvoyés à l’utilisateur par le service web via le module Sortie du service web.
Conseil
Conformément à votre configuration de l’expérience prédictive, tous les résultats du module Noter le modèle sont retournés. Ces résultats incluent toutes les données d’entrée, ainsi que la valeur du risque de crédit et la probabilité de la notation. Mais vous pouvez renvoyer quelque chose de différent si vous le souhaitez. Par exemple, vous pouvez retourner simplement la valeur du risque de crédit. Pour cela, insérez un module Colonnes de projets entre Calculer le score du modèle et Sortie du service web pour éliminer les colonnes que le service web ne doit pas retourner.
Vous pouvez tester le service web Classique dans Machine Learning Studio (classique) ou dans le portail des services web Azure Machine Learning. Vous pouvez tester un nouveau service web uniquement dans le portail des services web Machine Learning.
Conseil
Lors du test dans le portail des services web Machine Learning, vous pouvez demander au portail de créer un échantillon de données pour tester le service Requête-réponse. Dans la page Configurer, sélectionnez « Oui » pour Échantillon de données activé ?. Lorsque vous ouvrez l’onglet Demande-Réponse dans la page Tester, le portail intègre l’échantillon provenant du jeu de données Risque de crédit.
Tester un service web classique
Vous pouvez tester le service web Classique dans Machine Learning Studio (classique) ou dans le portail des services web Azure Machine Learning.
Test dans Machine Learning Studio (classique)
Sur la page TABLEAU DE BORD du service web, cliquez sur le bouton Test sous Point de terminaison par défaut. La boîte de dialogue qui s’affiche vous demande les données d’entrée du service. Les colonnes sont identiques à celles du jeu de données d’origine (Risque de crédit).
Entrez un jeu de données, puis cliquez sur OK.
Tester dans le portail des services web Machine Learning
Sur la page TABLEAU DE BORD du service web, cliquez sur le lien d’aperçu Test sous Point de terminaison par défaut. La page de test dans le portail des services web Machine Learning pour le point de terminaison de service web s’ouvre en vous invitant à entrer les données du service. Les colonnes sont identiques à celles du jeu de données d’origine (Risque de crédit).
Cliquez sur Tester requête-réponse.
Tester un nouveau service web
Vous pouvez tester un nouveau service web uniquement dans le portail des services web Machine Learning.
Dans le portail des services web Machine Learning, cliquez sur Tester en haut de la page. La page Test s’ouvre pour vous permettre d’entrer les données du service. Les champs d’entrée affichés correspondent à ceux du jeu de données d’origine (Risque de crédit).
Entrez un jeu de données, puis cliquez sur Test Request-Response(Tester la requête-réponse).
Les résultats du test apparaissent sur le côté droit de la page, dans la colonne de sortie.
Gérer le service web
Une fois votre service web déployé, qu’il soit classique ou nouveau, vous pouvez le gérer dans le portail des services web Machine Learning.
Pour surveiller les performances de votre service web :
- Connectez-vous au portail des services web Machine Learning.
- Cliquez sur Services web.
- Cliquer sur votre service web
- Cliquez sur Tableau de bord.
Accéder au service web
Dans l’étape précédente de ce tutoriel, vous avez déployé un service web qui utilise votre modèle prédictif de risque de crédit. Désormais, les utilisateurs peuvent lui envoyer des données et recevoir des résultats.
Il s’agit d’un service web Azure qui peut recevoir et renvoyer des données de deux manières à l’aide d’API REST :
- Demande/Réponse : l'utilisateur envoie une ou plusieurs lignes de crédit au service en utilisant le protocole HTTP et le service répond avec un ou plusieurs jeux de résultats.
- Exécution en lots : l'utilisateur stocke une ou plusieurs lignes de données de crédit dans le stockage d'objets blob Azure, puis envoie l'emplacement du stockage d'objets blob au service. Le service évalue toutes les lignes de données dans l'objet blob d'entrée, enregistre les résultats dans un autre objet blob et renvoie l'URL de ce conteneur.
Remarque
Les noms de colonnes de fonctionnalités dans Studio (classique) respectent la casse. Assurez-vous que les noms de colonnes dans vos données d’entrée pour l’appel du service web sont les mêmes que dans le jeu de données d’apprentissage.
Pour plus d’informations sur l’accès au service web et sur son utilisation, consultez Utilisation d’un service web Machine Learning à l’aide d’un modèle d’application web.
Nettoyer les ressources
Si vous n’avez plus besoin des ressources que vous avez créées dans le cadre de cet article, supprimez-les pour éviter des frais inutiles. Découvrez comment faire dans l’article Exporter et supprimer des données utilisateur intégrées dans le produit.
Étapes suivantes
Dans ce tutoriel, vous avez effectué les étapes suivantes :
- Préparer le déploiement
- Déployer le service web
- Test du service web
- Gérer le service web
- Accéder au service web
Vous pouvez également développer une application personnalisée pour accéder au service web à l'aide du code de démarrage fourni dans R, C# et les langages de programmation Python.