Partager via


Supprimer les données en double

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.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Supprime les lignes en double d'un jeu de données

Catégorie : transformation/manipulation des données

Notes

s’applique à: Machine Learning Studio (classic) uniquement

Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.

Vue d’ensemble du module

cet article explique comment utiliser le module supprimer les doublons de lignes dans Machine Learning Studio (classic) pour supprimer les doublons potentiels d’un jeu de données.

Par exemple, supposons que vos données se présentent comme suit et représentent plusieurs dossiers de patients.

PatientID Initiales Sexe Age Admis
1 F.M. M 53 Jan
2 F.A.M. M 53 Jan
3 F.A.M. M 24 Jan
3 F.M. M 24 Fév
4 F.M. M 23 Fév
F.M. M 23
5 F.A.M. M 53

Clairement, cet exemple comporte plusieurs colonnes avec des données potentiellement en double. Le fait de savoir s’il s’agit réellement de doublons dépend de votre connaissance des données.

  • Par exemple, vous savez peut-être que plusieurs patients ont le même nom. Vous n’élimineriez pas les doublons à l’aide des colonnes de nom, mais uniquement de la colonne ID. De cette façon, seules les lignes avec des valeurs d’ID en double sont supprimées, que les patients portent le même nom ou pas.

  • Vous pouvez également décider d’autoriser les doublons dans le champ ID et d’utiliser une autre combinaison de registres pour rechercher des enregistrements uniques, tels que le prénom, le nom, l’âge et le sexe.

Pour définir les critères déterminant si une ligne est en double ou non, vous spécifiez une seule colonne ou un ensemble de colonnes à utiliser comme clés. Deux lignes sont considérées comme des doublons uniquement lorsque les valeurs dans toutes les colonnes de clés sont identiques.

Lorsque vous exécutez le module, il crée un jeu de données candidat et envoie un ensemble de lignes sans doublons dans le jeu de colonnes spécifié.

Important

Le jeu de données source n’est pas modifié. Ce module crée un autre jeu de données qui est filtré pour exclure les doublons, selon les critères que vous spécifiez.

Suppression des lignes en double

  1. Ajoutez le module à votre expérience. Le module Supprimer les lignes en double se trouve sous Transformation de données, Manipulation.

  2. Connectez le jeu de données dans lequel rechercher les lignes en double.

  3. Dans le volet Propriétés, sous Key column selection filter expression (Expression de filtre pour la sélection de colonne de clé), cliquez sur Launch column selector (Lancer le sélecteur de colonnes) pour choisir les colonnes qui serviront à identifier les doublons.

    Dans ce contexte, clé n’a pas le sens d’identificateur unique. Toutes les colonnes que vous sélectionnez à l’aide du sélecteur de colonnes sont désignées comme colonnes de clés, Toutes les colonnes non sélectionnées sont considérées comme des colonnes non-clés. La combinaison de colonnes choisies comme clés détermine l’unicité des enregistrements. (considérez-le comme une instruction SQL qui utilise plusieurs jointures d’égalité.)

    Exemples :

    • « Je veux garantir que les ID sont uniques » : choisissez uniquement la colonne ID.
    • « Je veux m’assurer que la combinaison de prénom, nom et ID est unique » : choisissez les trois colonnes.
  4. Utilisez la case à cocher Retain first duplicate row (Conserver la première ligne en double) pour indiquer les lignes à renvoyer lorsque des doublons sont détectés :

    • Si cette option est sélectionnée, la première ligne est renvoyée, et les autres sont ignorées.
    • Si vous désélectionnez cette option, la dernière ligne en double est conservée dans les résultats, et les autres sont ignorées.

    Pour plus d’informations sur la façon dont les valeurs missinng sont gérées, consultez la section Notes techniques .

  5. Exécutez l’expérience, ou cliquez sur le module et sélectionnez exécuter sélectionné.

  6. Pour passer en revue les résultats, cliquez sur le module avec le bouton droit de la souris, sélectionnez Jeu de données de résultats, puis cliquez sur Visualiser.

Conseil

Si les résultats sont difficiles à comprendre, ou si vous souhaitez exclure certaines colonnes, vous pouvez supprimer des colonnes à l’aide du module Select Columns in Dataset (Sélectionner des colonnes dans un jeu de données).

Exemples

Pour obtenir des exemples d’utilisation de ce module, consultez la Azure ai Gallery:

  • Détection du cancer du sein: Supprimer les lignes en double est utilisé pour consolider les jeux de données d’apprentissage et de test après l’ajout de colonnes de fonctionnalités.

  • Recommandation du film: utilise Supprimer les doublons pour s’assurer qu’il n’existe qu’une seule évaluation utilisateur par film.

  • Analyse de sentiments Twitter: la Suppression de lignes en double est appliquée uniquement aux colonnes ID et popularité, pour s’assurer qu’il n’existe qu’une seule valeur de classement ordinale par film. En d’autres termes, un film ne peut pas être à la fois le 1er et le 3e, donc une valeur unique est utilisée même si les utilisateurs déplacent le film différemment.

Notes techniques

Cette section contient des détails, des conseils et des réponses aux questions fréquentes concernant l’implémentation.

Informations d’implémentation

Le module fonctionne en effectuant une boucle dans toutes les lignes du jeu de données d'entrée. Il collecte dans un jeu de données de sortie candidat toutes les lignes où la combinaison unique de valeurs de colonnes clés apparaît pour la première fois.

Le type de tableau de colonnes est conservé indépendamment des résultats du filtrage des lignes. Vous ne pouvez pas forcer le tableau sur un type de données spécifique en filtrant des valeurs non valides ; le type de tableau de colonnes est basé sur toutes les valeurs de la colonne. Cette restriction s'applique également lors du filtrage de valeurs manquantes.

L'algorithme utilisé pour comparer les valeurs de données est forcé par hachage.

Valeurs manquantes

Le jeu de données d’entrée peut contenir des valeurs manquantes dans les colonnes non-clés et les colonnes clés. Ces règles s’appliquent aux valeurs manquantes :

  • Une valeur manquante est considérée comme une valeur valide dans les colonnes clés. Les valeurs manquantes peuvent être présentes dans les deux clés.

  • Dans un jeu de données fragmenté, la valeur manquante est considérée comme égale uniquement si elle est égale à la représentation par défaut d'une valeur fragmentée.

  • Dans les colonnes de clé, une valeur manquante est considérée comme égale à d'autres valeurs manquantes, mais comme différente des valeurs non manquantes.

Entrée attendue

Name Type Description
Dataset Table de données Jeu de données d'entrée

Paramètres du module

Nom Plage Type Default Description
Expression de filtre de sélection de colonne clé n'importe laquelle ColumnSelection Choisissez les colonnes de clé à utiliser pour rechercher les doublons.
Conserver la première ligne dupliquée n'importe laquelle Boolean true Indiquez s'il faut conserver la première ligne d'un jeu de doublons et en supprimer d'autres. Si la valeur est False, la dernière ligne en double rencontrée est conservée.

Output

Nom Type Description
Jeu de données de résultats Table de données Jeu de données filtré

Exceptions

Exception Description
Erreur 0003 Une exception se produit si un ou plusieurs jeux de données d'entrée ont la valeur Null ou sont vides.
Erreur 0020 Une exception se produit si le nombre de colonnes dans certains des jeux de données transmis au module est trop petit.
Erreur 0017 Une exception se produit si une ou plusieurs colonnes spécifiées ont un type qui n'est pas pris en charge par le module actuel.

pour obtenir la liste des erreurs spécifiques aux modules Studio (classiques), consultez Machine Learning codes d’erreur.

pour obtenir la liste des exceptions d’api, consultez Machine Learning les Codes d’erreur de l' api REST.

Voir aussi

Manipulation
Liste alphabétique des modules