Équilibrez vos données pour l'apprentissage automatique avec Amazon SageMaker Data Wrangler

Nœud source: 1600102

Gestionnaire de données Amazon SageMaker est une nouvelle capacité de Amazon Sage Maker Cela permet aux scientifiques et aux ingénieurs des données de préparer plus rapidement les données pour les applications d'apprentissage automatique (ML) à l'aide d'une interface visuelle. Il contient plus de 300 transformations de données intégrées afin que vous puissiez rapidement normaliser, transformer et combiner des fonctionnalités sans avoir à écrire de code.

Aujourd'hui, nous sommes ravis d'annoncer de nouvelles transformations qui vous permettent d'équilibrer facilement et efficacement vos ensembles de données pour la formation de modèles ML. Nous montrons comment ces transformations fonctionnent dans cet article.

Nouveaux opérateurs d'équilibrage

Les opérateurs d'équilibrage nouvellement annoncés sont regroupés sous le Données de solde type de transformation dans le AJOUTER TRANSFORMATION vitre.

Actuellement, les opérateurs de transformation ne prennent en charge que les problèmes de classification binaire. Dans les problèmes de classification binaire, le classificateur est chargé de classer chaque échantillon dans l'une des deux classes. Lorsque le nombre d'échantillons dans la classe majoritaire (plus grande) est considérablement plus grand que le nombre d'échantillons dans la classe minoritaire (plus petite), l'ensemble de données est considéré comme déséquilibré. Ce biais est difficile pour les algorithmes et les classificateurs ML, car le processus de formation a tendance à être biaisé en faveur de la classe majoritaire.

Des schémas d'équilibrage, qui augmentent les données pour qu'elles soient plus équilibrées avant la formation du classificateur, ont été proposés pour relever ce défi. Les méthodes d'équilibrage les plus simples consistent soit à suréchantillonner la classe minoritaire en dupliquant les échantillons minoritaires, soit à sous-échantillonner la classe majoritaire en supprimant les échantillons majoritaires. L'idée d'ajouter des échantillons minoritaires synthétiques aux données tabulaires a été proposée pour la première fois dans la technique de suréchantillonnage des minorités synthétiques (SMOTE), où des échantillons minoritaires synthétiques sont créés en interpolant des paires de points minoritaires d'origine. SMOTE et d'autres schémas d'équilibrage ont été largement étudiés de manière empirique et ont montré qu'ils amélioraient les performances de prédiction dans divers scénarios, selon la publication SMOTE ou pas SMOTE.

Data Wrangler prend désormais en charge les opérateurs d'équilibrage suivants dans le cadre du Données de solde transformer:

  • Suréchantillonneur aléatoire – Dupliquer aléatoirement des échantillons minoritaires
  • Sous-échantillonneur aléatoire – Supprimer au hasard des échantillons majoritaires
  • SMOTÉ – Générer des échantillons minoritaires synthétiques en interpolant des échantillons minoritaires réels

Voyons maintenant en détail les différents opérateurs d'équilibrage.

Suréchantillonnage aléatoire

Le suréchantillonnage aléatoire comprend la sélection d'exemples aléatoires de la classe minoritaire avec un remplacement et le complément des données d'apprentissage avec plusieurs copies de cette instance. Par conséquent, il est possible qu'une même instance soit sélectionnée plusieurs fois. Avec le aléatoire suréchantillon type de transformation, Data Wrangler suréchantillonne automatiquement la classe minoritaire pour vous en dupliquant les échantillons minoritaires dans votre ensemble de données.

Sous-échantillon aléatoire

Le sous-échantillonnage aléatoire est le contraire du suréchantillonnage aléatoire. Cette méthode cherche à sélectionner et à supprimer de manière aléatoire des échantillons de la classe majoritaire, réduisant ainsi le nombre d'exemples dans la classe majoritaire dans les données transformées. La aléatoire sous-échantillon Le type de transformation permet à Data Wrangler de sous-échantillonner automatiquement la classe majoritaire pour vous en supprimant les échantillons majoritaires de votre ensemble de données.

SMOTÉ

Dans SMOTE, des échantillons minoritaires synthétiques sont ajoutés aux données pour obtenir le rapport souhaité entre les échantillons majoritaires et minoritaires. Les échantillons synthétiques sont générés par interpolation de paires de points minoritaires d'origine. La SMOTÉ transform prend en charge l'équilibrage des ensembles de données, y compris les fonctionnalités numériques et non numériques. Les caractéristiques numériques sont interpolées par moyenne pondérée. Cependant, vous ne pouvez pas appliquer d'interpolation moyenne pondérée aux caractéristiques non numériques, il est impossible de faire la moyenne “dog” ainsi que “cat” par exemple. Au lieu de cela, les caractéristiques non numériques sont copiées à partir de l'un ou l'autre des échantillons minoritaires d'origine en fonction du poids moyen.

Par exemple, considérons deux échantillons, A et B :

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

Supposons que les échantillons sont interpolés avec des poids de 0.3 pour l'échantillon A et de 0.7 pour l'échantillon B. Par conséquent, les champs numériques sont moyennés avec ces poids pour donner 0.3 et 0.6, respectivement. Le champ suivant est rempli de “dog” avec probabilité 0.3 et “cow” avec probabilité 0.7. De même, le suivant est égal à “carnivore” avec probabilité 0.3 et “herbivore” avec probabilité 0.7. La copie aléatoire est effectuée indépendamment pour chaque fonctionnalité, donc l'exemple C ci-dessous est un résultat possible :

C = [0.3, 0.6, "dog", "herbivore"]

Cet exemple montre comment le processus d'interpolation pourrait aboutir à des échantillons synthétiques irréalistes, comme un chien herbivore. Ceci est plus courant avec les caractéristiques catégorielles, mais peut également se produire avec les caractéristiques numériques. Même si certains échantillons synthétiques peuvent être irréalistes, SMOTE pourrait encore améliorer les performances de classification.

Pour générer de manière heuristique des échantillons plus réalistes, SMOTE n'interpole que les paires proches dans l'espace des caractéristiques. Techniquement, chaque échantillon est interpolé uniquement avec ses k plus proches voisins, où une valeur commune pour k est 5. Dans notre implémentation de SMOTE, seules les caractéristiques numériques sont utilisées pour calculer les distances entre les points (les distances sont utilisées pour déterminer le voisinage de chaque échantillon). Il est courant de normaliser les caractéristiques numériques avant de calculer les distances. Notez que les caractéristiques numériques sont normalisées uniquement dans le but de calculer la distance ; les caractéristiques interpolées résultantes ne sont pas normalisées.

Équilibrons maintenant le Ensemble de données adultes (également connu sous le nom de jeu de données Census Income) à l'aide de la transformation SMOTE intégrée fournie par Data Wrangler. Cet ensemble de données multivariées comprend six caractéristiques numériques et huit caractéristiques de chaîne. L'objectif de l'ensemble de données est une tâche de classification binaire pour prédire si le revenu d'un individu dépasse 50,000 XNUMX $ par an ou non sur la base des données du recensement.

Vous pouvez également voir visuellement la répartition des classes en créant un histogramme à l'aide de la type d'analyse d'histogramme dans Data Wrangler. La distribution cible est déséquilibrée et le ratio d'enregistrements avec >50K à <=50K est d'environ 1:4.

Nous pouvons équilibrer ces données en utilisant le SMOTÉ opérateur trouvé sous le Données de solde transformer en Data Wrangler en procédant comme suit :

  1. Selectionnez income comme colonne cible.

Nous voulons que la distribution de cette colonne soit plus équilibrée.

  1. Réglez le rapport souhaité sur 0.66.

Par conséquent, le rapport entre le nombre d'échantillons minoritaires et majoritaires est de 2:3 (au lieu du rapport brut de 1:4).

  1. Selectionnez SMOTÉ comme transformation à utiliser.
  2. Laissez les valeurs par défaut pour Nombre de voisins moyenne et s'il faut ou non normaliser.
  3. Selectionnez Aperçu pour obtenir un aperçu de la transformation appliquée et choisissez Ajouter pour ajouter la transformation à votre flux de données.

Nous pouvons maintenant créer un nouvel histogramme similaire à ce que nous faisions auparavant pour voir la distribution réalignée des classes. La figure suivante montre l'histogramme de la income colonne après avoir équilibré l'ensemble de données. La distribution des échantillons est maintenant de 3:2, comme prévu.

Nous pouvons maintenant exporter ces nouvelles données équilibrées et former un classificateur dessus, ce qui pourrait donner une qualité de prédiction supérieure.

Conclusion

Dans cet article, nous avons montré comment équilibrer les données de classification binaire déséquilibrées à l'aide de Data Wrangler. Data Wrangler propose trois opérateurs d'équilibrage : sous-échantillonnage aléatoire, suréchantillonnage aléatoire et SMOTE pour rééquilibrer les données dans vos ensembles de données déséquilibrés. Les trois méthodes proposées par Data Wrangler prennent en charge les données multimodales, y compris les fonctionnalités numériques et non numériques.

Dans les étapes suivantes, nous vous recommandons de reproduire l'exemple de cet article dans votre flux de données Data Wrangler pour voir ce dont nous avons discuté en action. Si vous débutez avec Data Wrangler ou Studio SageMaker, faire référence à Premiers pas avec Data Wrangler. Si vous avez des questions concernant cet article, veuillez l'ajouter dans la section des commentaires.


À propos des auteurs

Yotam Élor est scientifique appliquée senior chez Amazon SageMaker. Ses intérêts de recherche portent sur l'apprentissage automatique, en particulier pour les données tabulaires.

Arunprasath Shankar est un architecte de solutions spécialisé en intelligence artificielle et apprentissage automatique (AI / ML) avec AWS, qui aide les clients du monde entier à faire évoluer leurs solutions d'IA de manière efficace et efficiente dans le cloud. Dans ses temps libres, Arun aime regarder des films de science-fiction et écouter de la musique classique.

Source : https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

Horodatage:

Plus de Blog sur l'apprentissage automatique AWS