Partager via


Sélectionner des colonnes dans le jeu de données

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.

Sélectionne les colonnes à inclure ou exclure dans un jeu de données dans une opération

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 sélectionner des colonnes dans le jeu de données dans Machine Learning Studio (classic) pour choisir un sous-ensemble de colonnes à utiliser dans les opérations en aval. Le module ne supprime pas physiquement les colonnes de jeu de données source. Au lieu de cela, il crée un sous-ensemble de colonnes, à l’instar d’une vue ou projection de base de données.

Ce module est particulièrement utile lorsque vous devez limiter les colonnes disponibles pour une opération en aval, ou si vous souhaitez réduire la taille du jeu de données en supprimant les colonnes inutiles.

Les colonnes dans le jeu de données sont générées dans le même ordre que dans les données d’origine, même si vous les spécifiez dans un ordre différent.

Comment utiliser l’option Sélectionner des colonnes dans le jeu de données

Ce module n’a aucun paramètre. Vous utilisez le sélecteur de colonne pour choisir les colonnes à inclure ou exclure.

Choisir des colonnes par nom

Plusieurs options du module permettent de choisir des colonnes par nom :

  • Filtrer et rechercher

    Cliquez sur l’option PAR NOM.

    Si vous avez connecté un jeu de données déjà rempli, une liste des colonnes disponibles doit apparaître. Si aucune colonne n’apparaît, vous devrez peut-être exécuter des modules en amont pour afficher la liste des colonnes.

    Pour filtrer la liste, saisissez dans la zone de recherche. Par exemple, si vous saisissez la lettre w dans la zone de recherche, la liste est filtrée pour afficher les noms des colonnes qui contiennent la lettre w.

    Sélectionnez les colonnes et cliquez sur le bouton de flèche droite pour déplacer les colonnes sélectionnées dans la liste du volet de droite.

    • Pour sélectionner une plage continue de noms de colonnes, appuyez sur Maj + clic.
    • Pour ajouter des colonnes individuelles à la sélection, appuyez sur Ctrl + clic.

    Cliquez sur la coche pour enregistrer le fichier et fermer.

  • Utiliser des noms en combinaison avec d’autres règles

    Cliquez sur l’option WITH RULES (AVEC RÈGLES).

    Choisissez une règle, par exemple l’affichage des colonnes d’un type de données spécifique.

    Ensuite, cliquez sur les colonnes individuelles de ce type par nom, pour les ajouter à la liste de sélection.

  • Saisir ou coller une liste de noms de colonnes séparée par des virgules

    Si votre jeu de données est très vaste, il peut être plus facile d’utiliser des index ou des listes de noms générées, plutôt que de sélectionner des colonnes individuellement. Supposons que vous avez préparé la liste à l’avance :

    1. Cliquez sur l’option WITH RULES (AVEC RÈGLES).
    2. Sélectionnez Aucune colonne, sélectionnez Inclure, puis cliquez dans la zone de texte avec le point d’exclamation rouge.
    3. Collez ou saisissez une liste de noms de colonnes validés précédemment séparée par des virgules. Vous ne pouvez pas enregistrer le module si une colonne a un nom non valide. Veillez donc à vérifier les noms au préalable.

    Vous pouvez également utiliser cette méthode pour spécifier une liste de colonnes à l’aide de leurs valeurs d’index. Consultez la section exemples pour obtenir des conseils sur l’utilisation des index de colonne.

Choisir par type

Si vous utilisez l’option WITH RULES (AVEC RÈGLES), vous pouvez appliquer plusieurs conditions aux sélections de colonnes. Par exemple, vous devrez peut-être obtenir les colonnes de fonctionnalités d’un type de données numériques uniquement.

L’option Begin with détermine votre point de départ et est très importante pour comprendre les résultats.

  • Si vous sélectionnez l’option TOUTES LES COLONNES, toutes les colonnes sont ajoutées à la liste. Vous devez ensuite utiliser l’option Exclure pour supprimer les colonnes correspondant à certaines conditions.

    Par exemple, vous pouvez commencer avec toutes les colonnes puis supprimer des colonnes par nom ou par type.

  • Si vous sélectionnez l’option AUCUNE COLONNE, la liste de colonnes initiale est vide. Vous spécifiez ensuite des conditions pour ajouter des colonnes à la liste.

    Si vous appliquez plusieurs règles, chaque condition est additive. Par exemple, supposons que vous commenciez avec aucune colonne, puis que vous ajoutez une règle pour obtenir toutes les colonnes numériques. Dans le jeu de données de prix Automobile, ceci génère 16 colonnes. Ensuite, cliquez sur le + signe pour ajouter une nouvelle condition, puis sélectionnez inclure toutes les fonctionnalités. Le jeu de données obtenu inclut toutes les colonnes numériques, ainsi que toutes les colonnes de fonctionnalités, y compris certaines colonnes de fonctionnalités de chaîne.

Choisir par index de colonne

L’index de colonne fait référence à l’ordre de la colonne dans le jeu de données d’origine.

  • Les colonnes sont numérotées de manière séquentielle à partir de 1.
  • Pour obtenir une plage de colonnes, utilisez un trait d’union.
  • Les spécifications ouvertes telles que 1- ou -3 ne sont pas autorisées.
  • Les valeurs d’index (ou noms de colonnes) en double ne sont pas autorisées et peuvent entraîner une erreur.

Par exemple, en supposant que votre jeu de données contient au moins huit colonnes, vous pouvez coller dans l’un des exemples suivants pour retourner plusieurs colonnes non contiguës :

  • 8,1-4,6
  • 1,3-8
  • 1,3-6,4

le dernier exemple n’entraîne pas d’erreur. Il retourne toutefois une instance unique de la colonne 4.

Pour obtenir des conseils supplémentaires sur l’utilisation des index de colonne, consultez la section exemples .

Modifier l’ordre des colonnes

L’option Allow duplicates and preserve column order in selection (Autoriser les doublons et conserver l’ordre des colonnes dans la sélection) donne initialement une liste vide et ajoute des colonnes que vous spécifiez par nom ou par index. Contrairement à d’autres options, qui retournent toujours des colonnes dans leur « ordre naturel », cette option affiche les colonnes dans l’ordre dans lequel vous les nommez ou répertoriez.

Par exemple, dans un jeu de données avec les colonnes Col1, Col2, Col3 et Col4, vous pouvez inverser l’ordre des colonnes et omettre la colonne 2 en spécifiant une des listes suivantes :

  • Col4, Col3, Col1
  • 4,3,1

Exemples

Pour obtenir des exemples d’utilisation de Sélectionner des colonnes dans un jeu de données, consultez les exemples d’expériences suivants dans la Galerie de modèles:

Scénarios courants pour la sélection de colonnes

Les exemples suivants décrivent de façon classique que les utilisateurs appliquent des colonnes SELECT dans le jeu de données dans machine learning, et fournit des conseils pour la sélection des colonnes :

  • Je souhaite supprimer les colonnes de texte du jeu de données afin de pouvoir appliquer une opération mathématique à toutes les colonnes numériques.

    De nombreuses opérations requièrent que seules les colonnes numériques soient présentes dans le DataSet. Vous pouvez supprimer temporairement des colonnes qui provoquent une erreur, en excluant le texte et en excluant les colonnes catégoriques (nombres qui représentent des catégories discrètes).

    1. Cliquez sur lancer le sélecteur de colonne.

    2. Pour commencer par, sélectionnez toutes les colonnes.

    3. Sélectionnez l’option exclure , sélectionnez type de colonne, puis sélectionnez chaîne.

    4. Cliquez sur le signe plus (+) pour ajouter une nouvelle condition.

    5. Sélectionnez l’option exclure , sélectionnez type de colonne, puis sélectionnez catégorie.

  • Je dois appliquer la sélection des fonctionnalités uniquement aux colonnes de fonctionnalités catégoriques.

    Si vous devez séparer les colonnes d’un type similaire, vous pouvez appliquer plusieurs conditions. Par exemple, les fonctionnalités peuvent être catégoriques ou numériques, mais certains modules de sélection de fonctionnalités n’autorisent pas les champs non numériques. vous devez donc d’abord obtenir des fonctionnalités, puis ajouter une condition pour obtenir uniquement les fonctionnalités numériques.

    1. Cliquez sur lancer le sélecteur de colonne.

    2. Pour commencer par, sélectionnez aucune colonne.

    3. Sélectionnez l’option inclure , puis sélectionnez toutes les fonctionnalités.

    4. Cliquez sur le signe plus (+) pour ajouter une nouvelle condition.

    5. Sélectionnez l’option inclure , sélectionnez type de colonne, puis sélectionnez catégorie.

  • J’ai besoin d’appliquer une autre opération de normalisation à différentes colonnes numériques.

    Avant d’appliquer des opérations mathématiques, vous devrez peut-être séparer les nombres entiers des nombres à virgule flottante, et ainsi de suite. Pour ce faire, utilisez les types de données et appliquez plusieurs conditions.

    1. Cliquez sur lancer le sélecteur de colonne.

    2. Pour commencer par, sélectionnez aucune colonne.

    3. Sélectionnez l’option inclure , sélectionnez type de colonne, puis sélectionnez numérique.

    4. Cliquez sur le signe plus (+) pour ajouter une nouvelle condition.

    5. Sélectionnez l’option inclure , sélectionnez type de colonne, puis sélectionnez le type numérique qui est incompatible avec l’opération en aval.

  • Vous pouvez choisir trop de colonnes à l’aide du sélecteur.

    Souvent, après l’importation d’un jeu de données, vous constatez qu’il contient de nombreuses colonnes qui ne sont pas nécessaires pour la modélisation. Toutefois, vous souhaitez les conserver pour la sortie ultérieure ou pour identifier des cas. Pour ce faire, vous pouvez fractionner le jeu de données en deux parties (métadonnées et colonnes utilisées pour la modélisation) et recombiner ultérieurement les colonnes en fonction des besoins, en utilisant Ajouter des colonnes.

    1. Cliquez sur lancer le sélecteur de colonne.

    2. Pour commencer par, sélectionnez aucune colonne.

    3. Sélectionnez l’option inclure , sélectionnez type de colonne, puis sélectionnez fonctionnalité.

    4. Cliquez sur le signe plus (+) pour ajouter une nouvelle condition.

    5. Sélectionnez l’option inclure , sélectionnez le type de colonne, puis sélectionnez étiquette.

    6. Répétez ces étapes, mais commencez avec toutes les colonnes, puis excluez les colonnes de fonctionnalités et d’étiquettes pour créer un jeu de données uniquement pour les métadonnées.

  • Je ne sais pas les valeurs d’index pour les colonnes dont j’ai besoin.

    S’il n’y a que quelques colonnes dans votre jeu de données, vous pouvez utiliser l’option visualiser pour afficher les 100 premières lignes, puis déterminer quelle colonne est l’index 1, 2, etc.

    • les index de Machine Learning commencent à 1, de sorte que la première colonne est toujours 1.

    • Pour obtenir l’index de la dernière colonne, examinez les deux listes de colonnes dans le sélecteur de colonne : colonnes disponibles et colonnes sélectionnées. La barre grise sous la liste des colonnes affiche le nombre de colonnes dans chaque liste. Par conséquent, si 24 colonnes sont disponibles et que deux colonnes sont sélectionnées, il y a un total de 26 colonnes et l’index de la colonne finale est 26.

    Une autre option pour extraire le schéma de votre jeu de données consiste à utiliser le module exécuter le script R pour obtenir les noms de colonne avec des numéros d’index.

    1. Connecter votre jeu de données dans le module d' exécution de Script R .

    2. Dans le module, tapez un script similaire à ce qui suit pour générer les noms des colonnes. La ligne commençant par myindex génère une séquence qui représente les index dans l’ordre.

      dataset1 <- maml.mapInputPort(1) # class: data.frame
      mycolnames <-names(dataset1);
      myindex <- seq(from = 1, to = length(mycolnames), by=1);
      outdata <- as.data.frame(cbind(myindex, mycolnames));
      maml.mapOutputPort("outdata"); 
      

    Résultats sur le jeu de données de prix automobile

    myindex mycolnames
    1 symboling
    2 pertes normalisées
    3 make

Notes techniques

Si vous êtes familiarisé avec les bases de données relationnelles, ce module crée une projection des données ; par conséquent, le nom d’origine, Project colonnes. en termes de base de données, une projection est une fonction, telle qu’une instruction Transact-SQL ou LINQ, qui prend une donnée sous forme de tableau comme entrée et produit une sortie associée.

En algèbre relationnelle, une projection est une opération unaire, qui est écrite sous la forme d’un ensemble de noms d’attributs. Le résultat d'une projection est l'ensemble de ces attributs, avec d'autres attributs éliminés.

Entrées attendues

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

Paramètres du module

Nom Plage Type Default Description
Select columns n'importe laquelle ColumnSelection Sélectionnez les colonnes à conserver dans le jeu de données projeté.

Sorties

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

Exceptions

Exception Description
Erreur 0001 Une exception se produit si une ou plusieurs colonnes spécifiées du jeu de données sont introuvables.
Erreur 0003 Une exception se produit si un ou plusieurs jeux de données d'entrée ont la valeur Null ou sont vides.

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