Widget interactif de préparation de données pour les blocs-notes alimentés par Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Widget interactif de préparation des données pour les ordinateurs portables optimisé par Amazon SageMaker Data Wrangler

Selon une enquête menée en 2020 auprès de data scientists par Anaconda, la préparation des données est l'une des étapes critiques des workflows d'apprentissage automatique (ML) et d'analyse de données, et prend souvent beaucoup de temps pour les data scientists. Les scientifiques des données consacrent environ 66 % de leur temps à des tâches de préparation et d'analyse des données, notamment le chargement (19 %), le nettoyage (26 %) et la visualisation des données (21 %).

Amazon SageMakerStudio est le premier environnement de développement entièrement intégré (IDE) pour ML. D'un simple clic, les data scientists et les développeurs peuvent démarrer rapidement Cahiers Studio pour explorer des ensembles de données et créer des modèles. Si vous préférez une interface graphique et interactive, vous pouvez utiliser Gestionnaire de données Amazon SageMaker, avec plus de 300 visualisations, analyses et transformations intégrées pour traiter efficacement les données soutenues par Spark sans écrire une seule ligne de code.

Traqueur de données offre désormais une capacité intégrée de préparation des données dans Blocs-notes Amazon SageMaker Studio qui permet aux praticiens du ML d'examiner visuellement les caractéristiques des données, d'identifier les problèmes et de résoudre les problèmes de qualité des données, en quelques clics directement dans les blocs-notes.

Dans cet article, nous vous montrons comment le Traqueur de données Le widget de préparation des données génère automatiquement des visualisations clés au-dessus d'un cadre de données Pandas pour comprendre la distribution des données, détecter les problèmes de qualité des données et afficher des informations sur les données telles que les valeurs aberrantes pour chaque fonctionnalité. Il permet d'interagir avec les données et de découvrir des informations qui peuvent passer inaperçues avec des requêtes ad hoc. Il recommande également les transformations à corriger, vous permet d'appliquer des transformations de données sur l'interface utilisateur et de générer automatiquement du code dans les cellules du bloc-notes. Cette fonctionnalité est disponible dans toutes les régions où SageMaker Studio est disponible.

Vue d'ensemble de la solution

Comprenons davantage comment ce nouveau widget facilite considérablement l'exploration des données et offre une expérience transparente pour améliorer l'expérience globale de préparation des données pour les ingénieurs et les praticiens des données. Pour notre cas d'utilisation, nous utilisons une version modifiée du Jeu de données Titanic, un ensemble de données populaire dans la communauté ML, qui a maintenant été ajouté en tant que exemple de jeu de données afin que vous puissiez démarrer rapidement avec SageMaker Data Wrangler. L'ensemble de données original a été obtenu à partir de OpenML, et modifié pour ajouter des problèmes de qualité des données synthétiques par Amazon pour cette démo. Vous pouvez télécharger la version modifiée de l'ensemble de données à partir du chemin S3 public s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv.

Pré-requis

Pour acquérir une expérience pratique de toutes les fonctionnalités décrites dans cet article, remplissez les conditions préalables suivantes :

  1. Assurez-vous d'avoir un compte AWS, un accès sécurisé pour vous connecter au compte via le Console de gestion AWSet une Gestion des identités et des accès AWS (IAM) autorisations à utiliser Amazon Sage Maker ainsi que le Service de stockage simple Amazon (Amazon S3).
  2. Utiliser l'exemple d'ensemble de données du chemin S3 public s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv ou bien chargez-le dans un compartiment S3 à votre compte.
  3. Connectez-vous à un domaine SageMaker et accédez à Studio pour utiliser des blocs-notes. Pour obtenir des instructions, reportez-vous à Intégration au domaine Amazon SageMaker. Si vous utilisez Studio existant, effectuez une mise à niveau vers la dernière version de Studio.

Activer le widget d'exploration de données

Lorsque vous utilisez des blocs de données Pandas, les utilisateurs de bloc-notes Studio peuvent activer manuellement le widget d'exploration de données afin que les nouvelles visualisations soient affichées par défaut en haut de chaque colonne. Le widget affiche un histogramme pour les données numériques et un graphique à barres pour les autres types de données. Ces représentations vous permettent de comprendre rapidement la distribution des données et de découvrir les valeurs manquantes et les valeurs aberrantes sans avoir à écrire des méthodes passe-partout pour chaque colonne. Vous pouvez survoler la barre de chaque visuel pour avoir une compréhension rapide de la distribution.

Ouvrez Studio et créez un nouveau notebook Python 3. Assurez-vous de choisir le Science des données 3.0 image des images SageMaker en cliquant sur Changer d'environnement .

Le widget d'exploration de données est disponible dans les images suivantes. Pour la liste des images SageMaker par défaut, reportez-vous à Images Amazon SageMaker disponibles.

  • Python 3 (science des données) avec Python 3.7
  • Python 3 (science des données 2.0) avec Python 3.8
  • Python 3 (science des données 3.0) avec Python 3.10
  • Spark Analytics 1.0 et 2.0

Pour utiliser ce widget, importez le SageMaker_DataWrangler bibliothèque. Chargez la version modifiée du jeu de données Titanic depuis S3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv et lisez le CSV avec la bibliothèque Pandas :

import pandas as pd
import boto3
import io
import sagemaker_datawrangler

s3 = boto3.client('s3')
obj = s3.get_object(Bucket='sagemaker-sample-files', Key='datasets/tabular/dirty-titanic/titanic-dirty-4.csv')
df = pd.read_csv(io.BytesIO(obj['Body'].read()))

Widget de préparation de données Data Wrangler - exemple de bloc-notes

Visualiser les données

Une fois les données chargées dans le bloc de données Pandas, vous pouvez afficher les données en utilisant simplement df or display(df). En plus de répertorier la ligne, le widget de préparation des données produit des informations, des visualisations et des conseils sur la qualité des données. Vous n'avez pas besoin d'écrire de code supplémentaire pour générer des informations sur les fonctionnalités et les cibles, des informations sur la distribution ou des vérifications de la qualité des données de rendu. Vous pouvez choisir l'en-tête du tableau de bloc de données pour afficher le résumé statistique indiquant les avertissements de qualité des données, le cas échéant.

visualiser les données

Chaque colonne affiche un graphique à barres ou un histogramme en fonction du type de données. Par défaut, le widget échantillonne jusqu'à 10,000 XNUMX observations pour générer des informations significatives. Il offre également la possibilité d'exécuter l'analyse d'informations sur l'ensemble de données complet.

Comme illustré dans la capture d'écran suivante, ce widget identifie si une colonne contient des données catégorielles ou quantitatives.

données catégorielles ou quantitatives

Pour les données catégorielles, le widget génère le graphique à barres avec toutes les catégories. Dans la capture d'écran suivante, par exemple, la colonne Sex identifie les catégories sur les données. Vous pouvez survoler la barre (mâle dans ce cas) pour voir les détails de ces catégories, comme le nombre total de lignes avec la valeur male et sa distribution dans l'ensemble de données visualisé total (64.07 % dans cet exemple). Il met également en évidence le pourcentage total de valeurs manquantes dans une couleur différente pour les données catégorielles. Pour des données quantitatives comme le ticket colonne, elle affiche la distribution ainsi que le pourcentage de valeurs non valides.

Si vous souhaitez voir une visualisation Pandas standard dans le bloc-notes, vous pouvez choisir Voir le tableau Pandas et basculez entre le widget et la représentation Pandas, comme illustré dans la capture d'écran suivante.

Voir le tableau Pandas

afficher le tableau du gestionnaire de données

Pour obtenir des informations plus détaillées sur les données de la colonne, choisissez l'en-tête de la colonne pour ouvrir un panneau latéral dédié à la colonne. Ici, vous pouvez observer deux onglets : ACTUALITES ainsi que le Qualité des données.

Insights et qualité des données

Dans les sections suivantes, nous explorons ces deux options plus en détail.

ACTUALITES

Les ACTUALITES fournit des détails avec des descriptions pour chaque colonne. Cette section répertorie les statistiques agrégées, telles que le mode, le nombre d'uniques, les ratios et le nombre de valeurs manquantes/invalides, etc., ainsi que la visualisation de la distribution des données à l'aide d'un histogramme ou d'un graphique à barres. Dans les captures d'écran suivantes, vous pouvez consulter les informations sur les données et les informations de distribution affichées avec des visualisations facilement compréhensibles générées pour la colonne sélectionnée survived.

Qualité des données

Le widget de préparation des données du studio met en évidence les problèmes de qualité des données identifiés avec le signe d'avertissement dans l'en-tête. Widget peut identifier tout l'éventail des problèmes de qualité des données, des basiques (valeurs manquantes, colonne constante, etc.) aux plus spécifiques au ML (fuite de cible, caractéristiques de faible score prédictif, etc.). Le widget met en évidence les cellules à l'origine du problème de qualité des données et réorganise les lignes pour placer les cellules problématiques en haut. Pour remédier au problème de qualité des données, le widget fournit plusieurs transformateurs, applicables en un clic.

Pour explorer la section sur la qualité des données, choisissez l'en-tête de colonne, et dans le panneau latéral, choisissez le Qualité des données languette. Vous devriez voir ce qui suit dans votre environnement Studio.

onglet qualité des données

Regardons les différentes options disponibles sur le Qualité des données languette. Pour cet exemple, nous choisissons la colonne d'âge, qui est détectée comme une colonne quantitative basée sur les données. Comme nous pouvons le voir dans la capture d'écran suivante, ce widget suggère différents types de transformations que vous pourriez appliquer, y compris les actions les plus courantes, telles que Remplacer par la nouvelle valeur, Goutte manquante, Remplacer par la médianeou Remplacer par signifier. Vous pouvez en choisir un pour votre jeu de données en fonction du cas d'utilisation (le problème de ML que vous essayez de résoudre). Il vous donne également la Déposer la colonne option si vous souhaitez supprimer complètement la fonctionnalité.

âge

Quand vous choisissez Appliquer et exporter le code, la transformation est appliquée à la copie complète du bloc de données. Une fois la transformation appliquée avec succès, la table de données est actualisée avec les informations et les visualisations. Le code de transformation est généré après la cellule existante dans le bloc-notes. Vous pouvez exécuter ce code exporté ultérieurement pour appliquer la transformation sur vos jeux de données et l'étendre selon vos besoins. Vous pouvez personnaliser la transformation en modifiant directement le code généré. Si nous appliquons le Goutte manquante dans la colonne Age, le code de transformation suivant est appliqué à l'ensemble de données et le code est également généré dans une cellule sous le widget :

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Drop missing for column: age to resolve warning: Missing values 
output_df = output_df[output_df['age'].notnull()]

Voici un autre exemple d'extrait de code pour Remplacer par la médiane:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Replace with median for column: age to resolve warning: Missing values 
output_df['age']=output_df['age'].fillna(output_df['age'].median(skipna=True))

Examinons maintenant la capacité d'analyse cible du widget de préparation des données. Supposons que vous vouliez utiliser le survived fonctionnalité pour prédire si un passager survivra. Choisir la survived en-tête de colonne. Dans le panneau latéral, choisissez Sélectionner comme colonne cible. La répartition idéale des données pour le survived fonctionnalité ne doit avoir que deux classes : oui (1) ou pas (0), ce qui permet de classer les chances de survie à l'écrasement du Titanic. Cependant, en raison d'incohérences de données dans la colonne cible choisie, l'entité survivante a 0, 1, ?, unknownet une yes.

sélectionner comme colonne cible

Choisissez le type de problème en fonction de la colonne cible sélectionnée, qui peut être soit Classification or Régression. Pour la colonne survivante, le type de problème est la classification. Choisir Courir pour générer des informations pour la colonne cible.

survécu

Le widget de préparation des données répertorie les informations sur la colonne cible avec des recommandations et des exemples d'explications pour résoudre les problèmes liés à la qualité des données de la colonne cible. Il met également automatiquement en surbrillance les données anormales dans la colonne.

cibler les informations sur les colonnes avec des recommandations

Nous choisissons la transformation recommandée Supprimer les valeurs cibles rares, car il y a moins d'observations pour les valeurs cibles rares.

Déposer la valeur cible rare

La transformation choisie est appliquée au bloc de données Pandas et les valeurs cibles inhabituelles ont été éliminées de la colonne survivante. Voir le code suivant :

# Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True)

# Code to Drop rare target values for column: survived to resolve warning: Too few instances per class 
rare_target_labels_to_drop = ['?', 'unknown', 'yes']
output_df = output_df[~output_df['survived'].isin(rare_target_labels_to_drop)]

Les résultats de la transformation appliquée sont immédiatement visibles sur le bloc de données. Pour suivre les activités de préparation des données appliquées à l'aide du widget de préparation des données, le code transformé est également généré dans la cellule de bloc-notes suivante.

Conclusion

Dans cet article, nous avons fourni des conseils sur la manière dont le widget de préparation des données Studio peut vous aider à analyser les distributions de données, à explorer les informations sur la qualité des données générées par l'outil et à découvrir les problèmes potentiels tels que les valeurs aberrantes pour chaque fonctionnalité critique. Cela permet d'améliorer la qualité globale des données pour vous aider à former des modèles de haute qualité, et cela supprime le travail lourd indifférencié en vous permettant de transformer les données sur l'interface utilisateur et de générer automatiquement du code pour les cellules du bloc-notes. Vous pouvez ensuite utiliser ce code dans vos pipelines MLOps pour renforcer la reproductibilité, éviter de perdre du temps sur des tâches répétitives et réduire les problèmes de compatibilité en accélérant la construction et le déploiement de pipelines de gestion des données.

Si vous débutez avec SageMaker Data Wrangler ou Studio, reportez-vous à Premiers pas avec SageMaker Data Wrangler. Si vous avez des questions concernant cet article, veuillez l'ajouter dans la section des commentaires.


À propos des auteurs

Widget interactif de préparation de données pour les blocs-notes alimentés par Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Parthe Patel est architecte de solutions chez AWS dans la région de la baie de San Francisco. Parth guide les clients pour accélérer leur parcours vers le cloud et les aide à adopter et à se développer avec succès sur le cloud AWS. Il se concentre sur l'apprentissage automatique, la durabilité environnementale et la modernisation des applications.

Widget interactif de préparation de données pour les blocs-notes alimentés par Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Isha Doua est un architecte de solutions senior basé dans la région de la baie de San Francisco. Elle aide les clients d'AWS Enterprise à se développer en comprenant leurs objectifs et leurs défis, et en les guidant sur la manière dont ils peuvent concevoir leurs applications de manière cloud native tout en s'assurant qu'elles sont résilientes et évolutives. Elle est passionnée par les technologies d'apprentissage automatique et la durabilité environnementale.

Widget interactif de préparation de données pour les blocs-notes alimentés par Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Hariharan Suresh est architecte de solutions senior chez AWS. Il est passionné par les bases de données, l'apprentissage automatique et la conception de solutions innovantes. Avant de rejoindre AWS, Hariharan était architecte de produits, spécialiste de l'implémentation bancaire de base et développeur, et a travaillé avec des organisations BFSI pendant plus de 11 ans. En dehors de la technologie, il aime le parapente et le vélo.

Widget interactif de préparation de données pour les blocs-notes alimentés par Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Daniel Mitchell est architecte de solutions spécialisées en IA/ML chez Amazon Web Services. Il se concentre sur les cas d'utilisation de la vision par ordinateur et aide les clients de la région EMEA à accélérer leur parcours de ML.

Horodatage:

Plus de Apprentissage automatique AWS