Didacticiel : Création d’un flux de travail de machine learning de bout en bout dans SageMaker Canvas
Ce didacticiel vous guide tout au long d’un flux de travail de machine learning (ML) de bout en bout à l’aide d’Amazon SageMaker Canvas. SageMaker Canvas est une interface visuelle sans programmation que vous pouvez utiliser pour préparer des données et pour entraîner et déployer des modèles ML. Dans le cadre de ce didacticiel, vous utilisez un jeu de données des taxis de New York pour entraîner un modèle qui prédit le montant de la course pour un trajet donné. Vous acquérez une expérience pratique des tâches clés ML, telles que l’évaluation de la qualité des données et la résolution des problèmes liés aux données, la division des données en ensembles d’entraînement et de test, l’entraînement et l’évaluation des modèles, l’établissement de prédictions et le déploiement de votre modèle entraîné, le tout dans l’application SageMaker Canvas.
Important
Ce didacticiel suppose que vous ou votre administrateur avez créé un compte AWS. Pour en savoir plus sur la création d’un compte AWS, consultez Prise en main : utilisez-vous AWS pour la première fois ?
Configuration
Un domaine Amazon SageMaker AI est un emplacement centralisé permettant de gérer tous vos environnements et ressources Amazon SageMaker AI. Un domaine agit comme une limite virtuelle pour votre travail dans SageMaker AI, en isolant et en contrôlant l’accès à vos ressources de machine learning (ML).
Pour prendre en main Amazon SageMaker Canvas, vous ou votre administrateur devez accéder à la console SageMaker AI et créer un domaine Amazon SageMaker AI. Un domaine dispose des ressources de stockage et de calcul nécessaires pour que vous exécutiez SageMaker Canvas. Au sein du domaine, vous configurez SageMaker Canvas pour accéder à vos compartiments Amazon S3 et déployer des modèles. Utilisez la procédure suivante pour configurer un domaine rapide et créer une application SageMaker Canvas.
Pour configurer SageMaker Canvas
-
Accédez à la console SageMaker AI
. -
Dans le menu de navigation de gauche, choisissez SageMaker Canvas.
-
Choisissez Créer un domaine SageMaker AI.
-
Choisissez Set up (Configurer). La configuration du domaine peut prendre quelques minutes.
La procédure précédente utilisait une configuration rapide du domaine. Vous pouvez effectuer une configuration avancée pour contrôler tous les aspects de la configuration du compte, y compris les autorisations, les intégrations et le chiffrement. Pour plus d’informations sur une configuration personnalisée, consultez Utilisation d’une configuration personnalisée pour Amazon SageMaker AI.
Par défaut, la configuration rapide du domaine vous donne les autorisations nécessaires pour déployer des modèles. Si vous avez configuré des autorisations personnalisées via un domaine standard et que vous devez accorder manuellement des autorisations de déploiement de modèles, consultez Gestion des autorisations.
Création de flux
Amazon SageMaker Canvas est une plateforme de machine learning qui permet aux utilisateurs de générer, d’entraîner et de déployer des modèles de machine learning sans expertise approfondie en codage ou en machine learning. L’une des fonctionnalités puissantes d’Amazon SageMaker Canvas est la possibilité d’importer de grands jeux de données à partir de différentes sources, telles qu’Amazon S3, et de travailler avec eux.
Pour ce didacticiel, nous utilisons le jeu de données des taxis de New York pour prédire le montant de la course pour chaque trajet à l’aide d’un flux de données Amazon SageMaker Canvas Data Wrangler. La procédure suivante décrit les étapes à suivre pour importer une version modifiée du jeu de données des taxis de New York dans un flux de données.
Note
Pour améliorer le traitement, SageMaker Canvas importe un échantillon de vos données. Par défaut, il échantillonne 50 000 lignes sélectionnées de manière aléatoire.
Pour importer le jeu de données des taxis de New York
-
Sur la page d’accueil de SageMaker Canvas, choisissez Data Wrangler.
-
Choisissez Import data (Importer les données).
-
Sélectionnez Tabulaire.
-
Choisissez la boîte à outils située à côté de la source de données.
-
Sélectionnez Amazon S3 dans le menu déroulant.
-
Pour Point de terminaison S3 en entrée, spécifiez
s3://amazon-sagemaker-data-wrangler-documentation-artifacts/canvas-single-file-nyc-taxi-dataset.csv -
Choisissez Aller.
-
Cochez la case en regard du jeu de données.
-
Choisissez Prévisualiser les données.
-
Choisissez Enregistrer.
Rapport d’informations et de qualité des données 1 (échantillon)
Après avoir importé un jeu de données dans Amazon SageMaker Canvas, vous pouvez générer un rapport d’informations et de qualité des données d’un échantillon des données. Utilisez-le pour fournir des informations précieuses sur le jeu de données. Ce rapport effectue les actions suivantes :
-
Il évalue l’exhaustivité du jeu de données.
-
Il identifie les valeurs manquantes et les valeurs aberrantes.
Il peut identifier d’autres problèmes potentiels susceptibles d’avoir un impact sur les performances du modèle. Il évalue également le pouvoir prédictif de chaque caractéristique par rapport à la variable cible, ce qui vous permet d’identifier les caractéristiques les plus pertinentes pour le problème que vous essayez de résoudre.
Nous pouvons utiliser les informations fournies par le rapport pour prédire le montant de la course. En spécifiant la colonne Montant de la course comme variable cible et en sélectionnant Régression comme type de problème, le rapport analysera la pertinence du jeu de données dans le cadre de la prédiction de valeurs continues telles que les montants des courses. Le rapport doit révéler que des fonctionnalités telles que année et heure_de_la_journée ont un faible pouvoir prédictif pour la variable cible choisie, vous fournissant ainsi des informations précieuses.
Utilisez la procédure suivante pour obtenir un rapport d’informations et de qualité des données d’un échantillon de 50 000 lignes du jeu de données.
Pour obtenir un rapport sur un échantillon
-
Choisissez Obtenir des informations sur les données dans la fenêtre contextuelle située à côté du nœud Types de données.
-
Pour Nom de l’analyse, spécifiez un nom pour le rapport.
-
Pour Type de problème, choisissez Régression.
-
Pour Colonne cible, choisissez Montant de la course.
-
Choisissez Créer.
Vous pouvez consulter le rapport d’informations et de qualité des données d’un échantillon de vos données. Le rapport indique que les fonctionnalités année et heure_de_la_journée ne permettent pas de prédire la variable cible, Montant de la course.
En haut de la navigation, choisissez le nom du flux de données pour y revenir.
Suppression de l’année et de l’heure de la journée
Nous utilisons les informations issues du rapport pour supprimer les colonnes année et heure_de_la_journée afin de simplifier l’espace des caractéristiques et d’améliorer potentiellement les performances du modèle.
Amazon SageMaker Canvas fournit une interface conviviale et des outils permettant d’effectuer de telles transformations de données.
Appliquez la procédure suivante pour supprimer les colonnes année et heure_de_la_journée du jeu de données sur les taxis de New York à l’aide de l’outil Data Wrangler dans Amazon SageMaker Canvas.
-
Choisissez l’icône à côté de Types de données.
-
Choisissez Ajouter une étape.
-
Dans la barre de recherche, saisissez Supprimer une colonne.
-
Choisissez Manage Columns (Gérer les colonnes).
-
Choisissez Supprimer une colonne.
-
Pour Colonnes à supprimer, sélectionnez les colonnes année et heure_de_la_journée.
-
Choisissez Aperçu pour voir comment votre transformation modifie vos données.
-
Choisissez Ajouter.
Vous pouvez utiliser la procédure précédente comme base pour ajouter toutes les autres transformations dans SageMaker Canvas.
Rapport d’informations et de qualité des données 2 (jeu de données complet)
Pour le rapport d’informations précédent, nous avons utilisé un échantillon du jeu de données sur les taxis de New York. Pour notre deuxième rapport, nous effectuons une analyse exhaustive du jeu de données complet afin d’identifier les problèmes potentiels ayant une incidence sur les performances du modèle.
Utilisez la procédure suivante pour créer un rapport d’informations et de qualité des données d’un jeu de données complet.
Pour obtenir un rapport sur le jeu de données complet
-
Choisissez l’icône en regard du nœud Supprimer des colonnes.
-
Choisissez Obtenir des informations sur les données.
-
Pour Nom de l’analyse, spécifiez un nom pour le rapport.
-
Pour Type de problème, choisissez Régression.
-
Pour Colonne cible, choisissez Montant de la course.
-
Pour Taille des données, choisissez Jeu de données complet.
-
Choisissez Créer.
Voici une image tirée du rapport d’informations :
Elle montre les problèmes suivants :
-
Lignes dupliquées.
-
Cible biaisée
Les lignes dupliquées peuvent entraîner une fuite de données, le modèle étant exposé aux mêmes données pendant l’entraînement et les tests. Elles peuvent conduire à des métriques de performances trop optimistes. La suppression des lignes dupliquées garantit que le modèle est entraîné sur des instances uniques, ce qui réduit le risque de fuite de données et améliore la capacité du modèle à être généralisé.
La distribution des variables d’une cible biaisée, dans ce cas, la colonne Montant de la course, peut donner lieu à des classes déséquilibrées, le modèle pouvant être biaisé en faveur de la classe majoritaire. Cela peut entraîner de mauvaises performances pour les classes minoritaires, ce qui est particulièrement problématique dans les scénarios où il est important de prédire avec précision les instances rares ou sous-représentées.
Résolution des problèmes de qualité des données
Pour résoudre ces problèmes et préparer le jeu de données pour la modélisation, vous pouvez rechercher les transformations suivantes et les appliquer :
-
Supprimez les doublons à l’aide de la transformation Gérer les lignes.
-
Gérez les valeurs aberrantes dans la colonne Montant de la course en utilisant les Écarts-types aberrants numériques robustes.
-
Gérez les valeurs aberrantes dans les colonnes Distance de la course et Durée de la course en utilisant les Écarts-types aberrants numériques.
-
Utilisez l’Encodage catégoriel pour encoder les colonnes ID du code tarifaire, Type de paiement, Indicateur supplémentaire et Indicateur de péage au format Float.
En cas de doute sur la façon d’appliquer une transformation, consultez Suppression de l’année et de l’heure de la journée.
En résolvant ces problèmes de qualité des données et en appliquant les transformations appropriées, vous pouvez améliorer la pertinence du jeu de données pour la modélisation.
Vérification de la qualité des données et de l’exactitude du modèle rapide
Après avoir appliqué les transformations pour résoudre les problèmes de qualité des données, tels que la suppression des doublons de lignes, nous créons notre rapport final sur la qualité des données et les informations. Ce rapport contribue à vérifier que les transformations appliquées ont résolu les problèmes et que le jeu de données est désormais dans un état approprié pour la modélisation.
Lors de l’examen du rapport final sur la qualité des données et les informations, vous devez vous attendre à ce qu’aucun problème majeur de qualité des données ne soit signalé. Le rapport doit indiquer que :
-
la variable cible n’est plus biaisée ;
-
il n’y a pas de valeurs aberrantes ni de doublons de lignes.
En outre, le rapport doit fournir un score de modèle rapide basé sur un modèle de référence entraîné sur le jeu de données transformé. Ce score sert d’indicateur initial de l’exactitude et des performances potentielles du modèle.
Utilisez la procédure suivante pour créer le rapport d’informations et de qualité des données.
Pour créer un rapport d’informations et de qualité des données
-
Choisissez l’icône en regard du nœud Supprimer des colonnes.
-
Choisissez Obtenir des informations sur les données.
-
Pour Nom de l’analyse, spécifiez un nom pour le rapport.
-
Pour Type de problème, choisissez Régression.
-
Pour Colonne cible, choisissez Montant de la course.
-
Pour Taille des données, choisissez Jeu de données complet.
-
Choisissez Créer.
Division des données en jeux de données d’entraînement et de test
Pour entraîner un modèle et évaluer ses performances, nous utilisons la transformation Fractionner les données pour diviser les données en jeux de données d’entraînement et de test.
Par défaut, SageMaker Canvas utilise un fractionnement aléatoire, mais vous pouvez également utiliser les types de fractionnement suivants :
-
Ordonné
-
Stratifié
-
Fractionner par clé
Vous pouvez modifier le pourcentage de fractionnement ou ajouter des fractionnements.
Pour ce didacticiel, utilisez tous les paramètres par défaut de fractionnement. Vous devez double-cliquer sur le jeu de données pour afficher son nom. Le jeu de données d’entraînement porte le nom Jeu de données (Entraînement).
À côté du nœud Encodage ordinal, appliquez la transformation Fractionner les données.
Entraînement d’un modèle
Après avoir fractionné vos données, vous pouvez entraîner un modèle. Ce modèle apprend à partir des motifs présents dans vos données. Vous pouvez l’utiliser pour effectuer des prédictions ou dévoiler des informations.
SageMaker Canvas propose à la fois des générations rapides et des générations standard. Utilisez une génération standard pour entraîner le modèle le plus performant sur vos données.
Avant de commencer l’entraînement d’un modèle, vous devez exporter le jeu de données d’entraînement en tant que jeu de données SageMaker Canvas.
Pour exporter votre jeu de données
-
À côté du nœud du jeu de données d’entraînement, choisissez l’icône et sélectionnez Exporter.
-
Sélectionnez Jeu de données SageMaker Canvas.
-
Choisissez Exporter pour exporter le jeu de données.
Après avoir créé un jeu de données, vous pouvez entraîner un modèle sur le jeu de données SageMaker Canvas que vous avez créé. Pour plus d’informations sur l’entraînement d’un modèle, consultez Création d'un modèle de prédiction numérique ou catégorielle personnalisé.
Évaluation du modèle et réalisation de prédictions
Après avoir entraîné votre modèle de machine learning, il est essentiel d’évaluer ses performances pour vous assurer qu’il répond à vos exigences et qu’il fonctionne correctement sur des données inédites. Amazon SageMaker Canvas fournit une interface conviviale permettant d’évaluer l’exactitude de votre modèle, de passer en revue ses prédictions et de mieux comprendre ses forces et ses faiblesses. Vous pouvez utiliser ces informations pour prendre des décisions éclairées concernant son déploiement et les domaines potentiels d’amélioration.
Utilisez la procédure suivante pour évaluer un modèle avant de le déployer.
Pour évaluer un modèle
-
Choisissez Mes modèles.
-
Choisissez le modèle que vous avez créé.
-
Sous Versions, sélectionnez la version correspondant au modèle.
Vous pouvez maintenant visualiser les métriques d’évaluation des modèles.
Une fois que vous avez évalué le modèle, vous pouvez effectuer des prédictions sur de nouvelles données. Nous utilisons le jeu de données de test que nous avons créé.
Pour utiliser le jeu de données de test pour les prédictions, nous devons le convertir en jeu de données SageMaker Canvas. Le jeu de données SageMaker Canvas est dans un format interprétable par le modèle.
Utilisez la procédure suivante pour créer un jeu de données SageMaker Canvas à partir du jeu de données de test.
Pour créer un jeu de données SageMaker Canvas
-
À côté du jeu de données Jeu de données (Test), choisissez la case d’option.
-
Sélectionnez Exporter.
-
Sélectionnez Jeu de données SageMaker Canvas.
-
Pour Nom du jeu de données, spécifiez un nom pour le jeu de données.
-
Cliquez sur Exporter.
Utilisez la procédure suivante pour effectuer des prédictions. Cela suppose que vous êtes toujours sur la page Analyser.
Pour effectuer des prédictions sur le jeu de données de test
-
Choisissez Prédire.
-
Choisissez Manuel.
-
Sélectionnez le jeu de données que vous avez exporté.
-
Choisissez Générer des prédictions.
-
Lorsque SageMaker Canvas a fini de générer des prédictions, sélectionnez l’icône située à droite du jeu de données.
-
Choisissez Aperçu pour afficher les prédictions.
Déployer un modèle
Après avoir évalué votre modèle, vous pouvez le déployer sur un point de terminaison. Vous pouvez envoyer des demandes au point de terminaison pour obtenir des prédictions.
Utilisez la procédure suivante pour déployer un modèle. Cela suppose que vous êtes toujours sur la page Prédire.
Pour déployer un modèle
-
Choisissez Déployer.
-
Choisissez Créer un déploiement.
-
Choisissez Déployer.
Nettoyage
Vous avez maintenant terminé ce didacticiel. Pour éviter des frais ultérieurs, supprimez les ressources que vous n’utilisez pas.
Utilisez la procédure suivante pour supprimer le point de terminaison que vous avez créé. Cela suppose que vous êtes toujours sur la page Déployer.
Supprimer un point de terminaison
-
Choisissez la case d’option située à droite de votre déploiement.
-
Sélectionnez Supprimer le déploiement.
-
Sélectionnez Delete (Supprimer).
Après avoir supprimé le déploiement, supprimez les jeux de données que vous avez créés dans SageMaker Canvas. Utilisez la procédure suivante pour supprimer les jeux de données.
Pour supprimer les jeux de données
-
Choisissez Jeux de données dans le volet de navigation de gauche.
-
Sélectionnez le jeu de données que vous avez analysé et le jeu de données synthétique utilisé pour les prédictions.
-
Sélectionnez Delete (Supprimer).
Pour éviter des frais ultérieurs, vous devez vous déconnecter de SageMaker Canvas. Pour plus d’informations, consultez Se déconnecter d’Amazon SageMaker Canvas.