Partager via


Modifier des métadonné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.

Modifie les métadonnées associées aux colonnes dans 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 modifier les métadonnées dans Machine Learning Studio (classic) pour modifier les métadonnées associées aux colonnes d’un dataset. Les valeurs et les types de données du jeu de données ne sont pas réellement modifiés. les modifications sont les métadonnées à l’intérieur d’Machine Learning qui indiquent aux composants en aval comment utiliser la colonne.

Les modifications de métadonnées standard peuvent être les suivantes :

  • Traitement des colonnes booléennes ou numériques comme des valeurs catégorielles

  • Identification de la colonne qui contient l'étiquette de classe, ou des valeurs que vous souhaitez classer ou prédire

  • Marquage de colonnes en tant que fonctionnalités

  • Modification des valeurs de date/heure en une valeur numérique, ou vice versa

  • Attribution d’un nouveau nom aux colonnes

Utilisez modifier les métadonnées à chaque fois que vous devez modifier la définition d’une colonne, généralement pour répondre aux exigences d’un module en aval. Par exemple, certains modules peuvent fonctionner uniquement avec des types de données spécifiques, ou exiger des indicateurs sur les colonnes, tels que IsFeature ou IsCategorical .

Après avoir effectué l'opération requise, vous pouvez réinitialiser les métadonnées à leur état d'origine.

Comment configurer modifier les métadonnées

  1. dans Machine Learning Studio (classic), ajoutez le module modifier les métadonnées à votre expérience et connectez le jeu de données que vous souhaitez mettre à jour. Vous pouvez le trouver sous transformation des donnéesdans la catégorie manipuler .

  2. Cliquez sur lancer le sélecteur de colonne et choisissez la colonne ou l’ensemble de colonnes à utiliser. Vous pouvez choisir les colonnes individuellement, par nom ou par index, ou vous pouvez choisir un groupe de colonnes, par type.

    Conseil

    Vous avez besoin d’aide pour utiliser les index de colonne ? Consultez la section Notes techniques .

  3. Sélectionnez l’option Type de données si vous devez attribuer un autre type de données aux colonnes sélectionnées. La modification du type de données peut être nécessaire pour certaines opérations : par exemple, si votre jeu de données source a des nombres gérés en tant que texte, vous devez les remplacer par un type de données numérique avant d’utiliser des opérations mathématiques.

    • Les types de données pris en charge sont String , DateTimeBooleanIntegerFloating point ,,, et. TimeSpan

    • Si plusieurs colonnes sont sélectionnées, vous devez appliquer les modifications apportées aux métadonnées à toutes les colonnes sélectionnées. Par exemple, supposons que vous choisissiez les colonnes numériques 2-3. Vous pouvez les remplacer par un type de données String, puis les renommer en une seule opération. Toutefois, vous ne pouvez pas modifier une colonne en données de type chaîne et remplacer une autre colonne de données de type flottant en données de type entier.

    • Si vous ne spécifiez pas un nouveau type de données, les métadonnées de colonne sont inchangées.

    • Les modifications de type de données affectent uniquement les métadonnées associées au DataSet et la façon dont les données sont gérées dans les opérations en aval. Les valeurs réelles de la colonne ne sont pas modifiés, sauf si vous effectuez une autre opération (par exemple, d'arrondi) sur la colonne. Vous pouvez récupérer le type de données d’origine à tout moment à l’aide de modifier les métadonnées pour réinitialiser le type de données de la colonne.

    Notes

    Si vous remplacez un type de nombre par le type DateHeure, laissez le champ Format date et heure vide. Actuellement, il n’est pas possible de spécifier le format de données cible.

Machine Learning pouvez convertir les dates en nombres, ou en nombres en dates, si les nombres sont compatibles avec l’un des objets .net DateTime pris en charge. Pour plus d’informations, consultez la section Notes techniques .

  1. Sélectionnez l’option Catégorie pour spécifier que les valeurs indiquées dans les colonnes sélectionnées doivent être considérées comme des catégories.

    Par exemple, vous pouvez avoir une colonne qui contient les nombres 0, 1 et 2, mais sachez que les chiffres signifient réellement « fumeur », « non fumeur » et « inconnu ». Dans ce cas, en marquant la colonne comme étant catégorique, vous pouvez vous assurer que les valeurs ne sont pas utilisées dans les calculs numériques, uniquement pour regrouper les données.

  2. utilisez l’option champs si vous souhaitez modifier la façon dont Machine Learning utilise les données d’un modèle.

    • Fonctionnalité: utilisez cette option pour marquer une colonne en tant que fonctionnalité, à utiliser avec les modules qui fonctionnent uniquement sur les colonnes de fonctionnalités. Par défaut, toutes les colonnes sont traitées initialement comme des fonctionnalités.

    • Étiquette: utilisez cette option pour marquer l’étiquette (également appelée attribut prévisible ou variable cible). De nombreux modules requièrent qu’au moins une colonne d’étiquette (et une seule) soit présente dans le jeu de données.

      dans de nombreux cas, Machine Learning pouvez déduire qu’une colonne contient une étiquette de classe, mais en définissant ces métadonnées, vous pouvez vous assurer que la colonne est identifiée correctement. La définition de cette option ne modifie pas les valeurs des données, mais uniquement la manière dont certains algorithmes de Machine Learning gèrent les données.

    • Poids: utilisez cette option avec des données numériques pour indiquer que les valeurs de colonne représentent les pondérations à utiliser dans les opérations de notation ou de formation machine learning. Une seule colonne de pondération peut être présente dans un DataSet, et la colonne doit être numérique. Cette option fonctionne uniquement dans ces modèles : Two-Class régression logistique, Two-Class de la machine à vecteurs de support et Two-Class réseau neuronal.

    Conseil

    Des données ne rentrent-elles pas dans ces catégories ? Par exemple, votre jeu de données peut contenir des valeurs telles que des identificateurs uniques qui ne sont pas utiles en tant que variables. Parfois, les ID peuvent provoquer des problèmes lorsqu’ils sont utilisés dans un modèle.

    heureusement « en coulisses » Machine Learning conserve toutes vos données, vous n’avez donc pas besoin de supprimer ces colonnes du jeu de données. Lorsque vous devez effectuer des opérations sur un ensemble spécial de colonnes, supprimez simplement toutes les autres colonnes temporairement à l’aide du module Sélectionner des colonnes dans un jeu de données. Vous pouvez ultérieurement fusionner à nouveau les colonnes dans le jeu de données à l’aide du module Ajouter des colonnes.

  3. Utilisez les options suivantes pour effacer les sélections précédentes et rétablir les valeurs par défaut des métadonnées.

    • Effacer la fonctionnalité : Utilisez cette option pour supprimer l’indicateur de fonctionnalité.

      Étant donné que toutes les colonnes sont initialement traitées comme des fonctionnalités, pour les modules qui effectuent des opérations mathématiques, vous devrez peut-être utiliser cette option pour empêcher que les colonnes numériques soient traitées comme des variables.

    • Effacer l’étiquette : Utilisez cette option pour supprimer les métadonnées d’étiquette de la colonne spécifiée.

    • Effacer le score : Utilisez cette option pour supprimer les métadonnées de score de la colonne spécifiée.

      Actuellement, la possibilité de marquer explicitement une colonne comme score n’est pas disponible dans Machine Learning. Toutefois, certaines opérations entraînent le marquage d’une colonne en tant que score en interne. De même, un module R personnalisé peut générer des valeurs de score.

    • Effacer l’épaisseur: utilisez cette option pour supprimer les métadonnées de poids de la colonne spécifiée.

  4. Pour les nouveaux noms de colonnes, tapez le nouveau nom de la ou des colonnes sélectionnées.

    • Les noms de colonnes peuvent utiliser uniquement des caractères pris en charge par l’encodage UTF-8. Les chaînes vides, les valeurs null ou les noms constitués uniquement d’espaces ne sont pas autorisés.

    • Pour renommer plusieurs colonnes, tapez les noms sous la forme d’une liste séparée par des virgules dans l’ordre des index de colonne.

    • Toutes les colonnes sélectionnées doivent être renommées. Vous ne pouvez pas omettre ou ignorer des colonnes.

    Conseil

    Si vous avez besoin de renommer plusieurs colonnes, vous pouvez coller dans une chaîne délimitée par des virgules préparée à l’avance. ou utilisez les modules exécuter le Script R ou appliquer SQL Transformation . Consultez la section Notes techniques pour obtenir du code et des exemples.

  5. Exécutez l’expérience.

Exemples

Pour obtenir des exemples d’utilisation de modifier les métadonnées lors de la préparation des données et de la création de modèles, consultez la Azure ai Gallery:

  • Détection du cancer du sein: les noms de colonnes sont modifiés après avoir rejoint les jeux de données. La colonne d' ID de patient est également marquée comme catégorique pour s’assurer qu’elle n’est pas utilisée dans un calcul, mais plutôt gérée comme une valeur de chaîne.

  • Analyse des sentiments Twitter: montre comment utiliser modifier les métadonnées pour vous assurer que les colonnes sont traitées comme des fonctionnalités. Plus tard dans l’expérience, les métadonnées des fonctionnalités sont effacées.

  • Traitement et analyse des données: dans cet exemple, la modification des métadonnées est utilisée pour définir de nouveaux noms de colonnes pour les données qui ont été chargées à partir d’une page Web.

Notes techniques

Cette section contient des problèmes connus, des questions fréquemment posées et des exemples de solutions de contournement courantes.

Problèmes connus

  • Les métadonnées personnalisées ne sont pas prises en charge. il n’est pas possible d’utiliser des métadonnées personnalisées dans Machine Learning ou de modifier des métadonnées de colonne en dehors de la modification des métadonnées. Par exemple, vous ne pouvez pas ajouter de métadonnées indiquant qu’une colonne est un identificateur unique, ou ajouter d’autres attributs descriptifs. Machine Learning prend en charge uniquement les attributs de métadonnées utilisés dans R pour travailler avec des facteurs, des fonctionnalités, des poids et des étiquettes.

  • Types de données non pris en charge. Les types de données numériques suivants ne sont pas pris en charge : double (Decimal) et TimeStamp.

  • Identification des colonnes du score. Il n’existe actuellement aucune option dans modifier les métadonnées pour marquer une colonne comme contenant des scores. Toutefois, vous pouvez utiliser le module exécuter le script R avec un script similaire à ce qui suit pour indiquer qu’une colonne contient des scores :

    dataset <- maml.mapInputPort(1)   
    attr(dataset$x, "label.type")= "True Labels"  
    attr(dataset$y, "feature.channel")= "Multiclass Classification Scores"  
    attr(dataset$y, "score.type")= "Assigned Labels"  
    maml.mapOutputPort("dataset");
    
  • Problèmes avec les formats DateTime. le type de données sous-jacent datetime utilisé par Machine Learning est POSIXct .

    Si toutes les dates d’une colonne peuvent être analysées par l’analyseur par défaut, la colonne est importée et traitée comme des données de type chaîne.

    Si vous essayez de convertir une colonne DateTime en à l’aide du module modifier les métadonnées et que vous recevez une erreur, cela signifie que la date n’est pas dans un format que .net accepte par défaut. dans ce cas, nous vous recommandons d’utiliser le module exécuter le Script R ou le module appliquer la transformation SQL pour transformer votre colonne en un format accepté par l’analyseur par défaut.

    DateTime. Parse, méthode

    Chaînes de format de date et d’heure standard

Sélection de colonnes à l’aide d’index de colonne

Dans les jeux de données très volumineux, il n’est pas possible de taper ou de sélectionner manuellement tous les noms de colonnes. L’utilisation de l’index de colonne est un raccourci que vous pouvez utiliser pour spécifier de nombreuses colonnes. Cette section fournit des conseils sur l’utilisation des index de colonne.

Par exemple, ouvrez le sélecteur de colonne, cliquez sur avec les règles, sélectionnez inclure et index de colonne, puis tapez une plage ou une série de nombres comme suit :

  • Tapez 1-20 pour sélectionner les 20 premières colonnes
  • Tapez 5-20 pour sélectionner une plage de colonnes commençant à 5, y compris la colonne 20.
  • Tapez 1,5,10,15 pour sélectionner des colonnes discontinues
  • Tapez 1-2, 5 pour sélectionner les colonnes 1, 2 et 5, en ignorant les colonnes 3 et 4
  • Vous ne pouvez pas taper une valeur d’index supérieure au nombre de colonnes disponibles dans le jeu de données.

Les expériences suivantes proposent des exemples d’autres méthodes permettant de sélectionner et de modifier plusieurs colonnes :

  • Classification binaire : détection du cancer du sein: les données d’origine contenaient de nombreuses colonnes vides générées lors de l’importation à partir d’une feuille de calcul. Les colonnes supplémentaires ont été supprimées en spécifiant les colonnes 1-11 dans le module fractionner les données .

  • Télécharger le jeu de données à partir de UCI: montre comment vous pouvez fournir des noms de colonne sous forme de liste à l’aide du module entrer les données manuellement , puis insérer la liste dans le jeu de données en tant que titres, à l’aide du module exécuter le script R .

  • Expressions Regex Select: cette expérience fournit un module personnalisé qui vous permet d’appliquer une expression régulière à des noms de colonnes. Vous pouvez utiliser ce module comme entrée pour modifier les métadonnées.

Autres méthodes de modification des noms de colonnes

si vous avez de nombreuses colonnes à renommer, vous pouvez utiliser le module exécuter le Script R ou le module appliquer SQL Transformation .

Utilisation d’un script R

les jeux de données utilisés par Machine Learning sont passés dans ce module sous forme de données. frame, ce qui signifie que vous pouvez utiliser la fonction r colnames() et d’autres fonctions r associées pour répertorier ou modifier les noms de colonnes.

Par exemple, le code suivant crée une liste de nouveaux noms de colonnes, puis applique cette liste au jeu de données d’entrée pour générer de nouveaux en-têtes de colonne.

irisdata <- maml.mapInputPort(1);    
newnames <- c("CLASS", "SEPAL  LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");

L’exemple suivant utilise une expression régulière dans R pour remplacer globalement toutes les instances de la chaîne spécifiée dans les noms de colonnes pour irisdata :

# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");

Utilisation de SQL

L’exemple suivant prend un DataSet comme entrée, puis modifie les noms de colonnes à l’aide du mot clé As .

SELECT col1 as [C1], 
  col2 as [C2], 
  col3 as [C3], 
  col4 as [C4],
  col5 as [C5] 
FROM t1;

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
Colonne Quelconque ColumnSelection Choisissez les colonnes auxquelles vos modifications devraient s'appliquer.
Type de données Liste Type de données de l'éditeur de métadonnées Inchangé Spécifiez le nouveau type de données de la colonne.
Par catégorie Liste Catégoriel de l'éditeur de métadonnées Inchangé Indiquez si la colonne doit être marquée comme catégorielle.
Champs Liste Indicateur de l'éditeur de métadonnées Inchangé Spécifiez si la colonne doit être considérée comme une fonctionnalité ou étiquette par les algorithmes d'apprentissage.
Nouveaux noms de colonnes n'importe laquelle String Tapez les nouveaux noms des colonnes.

Output

Nom Type Description
Jeu de données de résultats Table de données Jeu de données avec métadonnées modifiées

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 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.
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 0031 Une exception se produit si le nombre de colonnes dans le jeu de colonnes est inférieur au nombre requis.
Erreur 0027 Une exception se produit quand deux objets qui doivent avoir la même taille ne l'ont pas.
Erreur 0028 Une exception se produit quand le jeu de colonnes contient des noms de colonnes dupliqués, ce qui n'est pas autorisé.
Erreur 0037 Une exception se produit si plusieurs colonnes d'étiquettes sont spécifiées et qu'une seule est autorisée.

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
Transformation des données
Liste alphabétique des modules