Bearbeiten von Metadaten

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Ändert Metadaten, die Spalten in einem Dataset zugeordnet sind

Kategorie: Datentransformation/-bearbeitung

Hinweis

Gilt nur für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Modul Edit Metadata (Metadaten bearbeiten) in Machine Learning Studio (klassisch) verwenden, um Metadaten zu ändern, die Spalten in einem Dataset zugeordnet sind. Die Werte und Datentypen im Dataset werden nicht tatsächlich geändert. Welche Änderungen sind die Metadaten in Machine Learning, die Downstreamkomponenten mitteilt, wie die Spalte verwendet werden soll.

Typische Metadatenänderungen können Folgendes umfassen:

  • Behandeln boolescher oder numerischer Spalten als kategorische Werte

  • Angebe, welche Spalte die Bezeichnung Klasse oder die Werte enthält, die Sie kategorisieren oder vorhersagen

  • Markieren von Spalten als Features

  • Ändern von Datum/Uhrzeit-Werten in numerische Werte oder umgekehrt

  • Umbenennen von Spalten

Verwenden Sie Metadaten bearbeiten jedes Mal, wenn Sie die Definition einer Spalte ändern müssen, in der Regel, um die Anforderungen für ein Downstreammodul zu erfüllen. Einige Module könne beispielsweise nur bestimmte Datentypen verarbeiten oder erfordern Flags für Spalten, wie z.B. IsFeature oder IsCategorical.

Nach dem Ausführen des erforderlichen Vorgangs können Sie die Metadaten in ihren ursprünglichen Zustand zurücksetzen.

Konfigurieren von Edit Metadata

  1. Fügen Sie in Machine Learning Studio (klassisch) ihrem Experiment das Modul Edit Metadata (Metadaten bearbeiten) hinzu, und verbinden Sie das Dataset, das Sie aktualisieren möchten. Sie finden das Modul unter Datentransformation in der Kategorie Bearbeiten.

  2. Klicken Sie auf Spaltenauswahl starten, und wählen Sie die Spalte oder die Gruppe von Spalten aus, mit denen Sie arbeiten möchten. Sie können Spalten einzeln nach Name oder Index auswählen, oder Sie können eine Gruppe von Spalten nach Typ auswählen.

    Tipp

    Benötigen Sie Hilfe bei der Verwendung von Spaltenindizes? Weitere Informationen finden Sie im Abschnitt Technische Hinweise .

  3. Wählen Sie die Option Datentyp aus, wenn Sie den ausgewählten Spalten einen anderen Datentyp zuweisen müssen. Für bestimmte Vorgänge muss der Datentyp möglicherweise geändert werden: Wenn Ihr Quelldataset beispielsweise Zahlen enthält, die wie Text behandelt werden, müssen Sie diese vor der Verwendung von mathematischen Operationen in einen numerischen Datentyp ändern.

    • Die unterstützten Datentypen sind String, Integer, Floating point, Boolean, DateTimeund TimeSpan.

    • Werden mehrere Spalten ausgewählt, müssen Sie die Metadatenänderungen auf alle ausgewählten Spalten anwenden. Angenommen, Sie wählen 2 bis 3 numerische Spalten aus. Sie können alle in einen Zeichenfolgendatentyp ändern und sie in einem Vorgang umbenennen. Sie können jedoch nicht eine Spalte in einen Zeichenfolgendatentyp und eine andere Spalte in von einem Gleitkommawert in eine Ganzzahl ändern.

    • Wenn Sie keinen neuen Datentyp angeben, bleiben die Spaltenmetadaten unverändert.

    • Änderungen des Datentyps wirken sich nur auf die Metadaten aus, die dem Dataset zugeordnet sind, und darauf, wie die Daten in Downstreamvorgängen behandelt werden. Die tatsächlichen Spaltenwerte werden nicht geändert, sofern Sie nicht einen anderen Vorgang (z. B. eine Rundung) für die Spalte ausführen. Sie können den ursprünglichen Datentyp jederzeit wiederherstellen, indem Sie Metadaten bearbeiten verwenden, um den Spaltendatentyp zurückzusetzen.

    Hinweis

    Wenn Sie einen beliebigen Zahlentyp in den Datentyp DateTime ändern, lassen Sie das Feld Format für „DateTime“ leer. Aktuell ist es nicht möglich, das Zieldatenformat festzulegen.

Machine Learning können Datumsangaben in Zahlen oder Zahlen in Datumsangaben konvertieren, wenn die Zahlen mit einem der unterstützten .NET DateTime-Objekte kompatibel sind. Weitere Informationen finden Sie im Abschnitt Technische Hinweise .

  1. Wählen Sie die Option Kategorie aus, um festzulegen, dass die Werte in den ausgewählten Spalten als Kategorien behandelt werden sollen.

    Angenommen, Sie verfügen über eine Spalte mit den Zahlen 0,1 und 2, wissen aber, dass die Zahlen tatsächlich "Smoker", "Non smoker" und "Unknown" bedeuten. In diesem Fall können Sie durch Kennzeichnen der Spalte als Kategorie sicherstellen, dass die Werte nicht in numerischen Berechnungen verwendet werden, sondern nur zur Gruppierung von Daten.

  2. Verwenden Sie die Option Felder, wenn Sie ändern möchten, wie Machine Learning die Daten in einem Modell verwendet.

    • Feature: Verwenden Sie diese Option, um eine Spalte als Feature zu kennzeichnen, um sie mit Modulen zu verwenden, die nur für Featurespalten verwendet werden. Standardmäßig werden alle Spalten zunächst als Features behandelt werden.

    • Bezeichnung: Verwenden Sie diese Option, um die Bezeichnung zu markieren (auch als vorhersagbares Attribut oder Zielvariable bezeichnet). Viele Module erfordern, dass mindestens eine (und nur eine) Bezeichnungsspalte im Dataset vorhanden ist.

      In vielen Fällen können Machine Learning ableiten, dass eine Spalte eine Klassenbezeichnung enthält. Durch Festlegen dieser Metadaten können Sie jedoch sicherstellen, dass die Spalte ordnungsgemäß identifiziert wird. Durch Festlegen dieser Option werden keine Datenwerte geändert. Es wird lediglich bestimmt, wie bestimmte Machine Learning-Algorithmen die Daten behandeln.

    • Gewichtung: Verwenden Sie diese Option mit numerischen Daten, um anzugeben, dass Spaltenwerte Gewichtungen für die Verwendung in Machine Learning-Bewertungs- oder Trainingsvorgängen darstellen. In einem Dataset kann nur eine Gewichtungsspalte vorhanden sein, und die Spalte muss numerisch sein. Diese Option funktioniert nur in diesen Modellen: Two-Class Logistische Regression, Two-Class Support Vector Machine und Two-Class Neural Network.

    Tipp

    Verfügen Sie über Daten, die nicht in diese Kategorien passen? Ihr Dataset könnte beispielsweise Werte wie eindeutige Bezeichner (IDs) enthalten, die nicht als Variablen verwendet werden können. Manchmal können IDs bei der Verwendung in einem Modell Probleme verursachen.

    Glücklicherweise speichert Machine Learning alle Ihre Daten, sodass Sie solche Spalten nicht aus dem Dataset löschen müssen. Wenn Sie Operationen mit einem speziellen Satz von Spalten durchführen müssen, entfernen Sie einfach vorübergehend alle anderen Spalten unter Verwendung des Moduls Spalten im Dataset auswählen. Später können Sie die Spalten mit dem Modul Spalten hinzufügen wieder in das Dataset einfügen.

  3. Verwenden Sie die folgenden Optionen, um vorherige Auswahlen aufzuheben und Metadaten auf die Standardwerte zurückzusetzen.

    • Feature löschen: Verwenden Sie diese Option, um das Featureflag zu entfernen.

      Da alle Spalten zunächst als Features behandelt werden, müssen Sie diese Option möglicherweise für Module, verwenden, die mathematische Operationen ausführen, um zu verhindern, dass numerische Spalten als Variablen behandelt werden.

    • Bezeichnung löschen: Verwenden Sie diese Option, um die Metadaten der Bezeichnung aus der angegebenen Spalte zu entfernen.

    • Bewertung löschen: Verwenden Sie diese Option, um die Metadaten der Bewertung aus der angegebenen Spalte zu entfernen.

      Derzeit ist die Möglichkeit, eine Spalte explizit als Bewertung zu markieren, in Machine Learning nicht verfügbar. Einige Vorgänge führen jedoch zu einer Spalte, die intern als Bewertung gekennzeichnet wird. Darüber hinaus kann ein benutzerdefiniertes R-Modul Bewertungswerte ausgeben.

    • Gewichtung löschen: Verwenden Sie diese Option, um die Gewichtungsmetadaten aus der angegebenen Spalte zu entfernen.

  4. Geben Sie für Neue Spaltennamen den neuen Namen der ausgewählten Spalte oder Spalten ein.

    • Spaltennamen dürfen nur Zeichen enthalten, die von UTF-8-Codierung unterstützt werden. Leere Zeichenfolgen, NULL-Werte oder Namen, die vollständig aus Leerzeichen bestehen, sind nicht zulässig.

    • Um mehrere Spalten umzubenennen, geben Sie die Namen als kommagetrennte Liste in der Reihenfolge der Spaltenindizes ein.

    • Alle ausgewählte Spalten müssen umbenannt werden. Sie dürfen keine Spalten weglassen oder überspringen.

    Tipp

    Wenn Sie mehrere Spalten umbenennen müssen, können Sie im Voraus eine durch Trennzeichen getrennte Zeichenfolge einfügen. Alternativ können Sie die Module Execute R Script (R-Skript ausführen) oder Apply SQL Transformation (Anwenden SQL Transformation) verwenden. Code und Beispiele finden Sie im Abschnitt Technische Hinweise .

  5. Führen Sie das Experiment aus.

Beispiele

Beispiele für die Verwendung von Edit Metadata zum Vorbereiten von Daten und Erstellen von Modellen finden Sie im Azure KI-Katalog:

  • Erkennung von Milcharten: Spaltennamen werden nach dem Verknüpfen mit Datasets geändert. Die Spalte Patient ID wird auch als kategorisch gekennzeichnet, um sicherzustellen, dass sie nicht in einer Berechnung verwendet, sondern als Zeichenfolgenwert behandelt wird.

  • Twitter-Stimmungsanalyse: Veranschaulicht die Verwendung von Metadaten bearbeiten , um sicherzustellen, dass Spalten als Features behandelt werden. Später im Experiment werden die Featuremetadaten gelöscht.

  • Datenverarbeitung und -analyse: In diesem Beispiel wird Metadaten bearbeiten verwendet, um neue Spaltennamen für Daten zu definieren, die von einer Webseite geladen wurden.

Technische Hinweise

Dieser Abschnitt enthält bekannte Probleme, häufig gestellte Fragen und einige Beispiele für häufige Problemumgehungen.

Bekannte Probleme

  • Benutzerdefinierte Metadaten werden nicht unterstützt. Es ist nicht möglich, benutzerdefinierte Metadaten in Machine Learning zu verwenden oder Spaltenmetadaten außerhalb von Edit Metadata zu bearbeiten. Beispielsweise können Sie keine Metadaten hinzufügen, die angeben, dass eine Spalte ein eindeutiger Bezeichner ist, oder andere beschreibende Attribute hinzufügen. Machine Learning unterstützt nur die Metadatenattribute, die in R für die Arbeit mit Faktoren, Features, Gewichtungen und Bezeichnungen verwendet werden.

  • Nicht unterstützte Datentypen. Die folgenden numerischen Datentypen werden nicht unterstützt: Double (decimal) und TimeStamp.

  • Identifizieren von Bewertungsspalten. Derzeit gibt es in Edit Metadata (Metadaten bearbeiten) keine Option , um eine Spalte als mit Bewertungen zu kennzeichnen. Sie können jedoch das Execute R Script-Modul mit einem Skript ähnlich dem folgenden verwenden, um anzugeben, dass eine Spalte Bewertungen enthält:

    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");
    
  • Probleme mit datetime-Formaten. Der zugrunde liegende datetime Datentyp, der von Machine Learning wird, ist POSIXct.

    Wenn alle Datumsangaben in einer Spalte vom Standardparser analysiert werden können, wird die Spalte importiert und als Zeichenfolgendaten behandelt.

    Wenn Sie versuchen DateTime , eine Spalte mithilfe des Moduls Edit Metadata (Metadaten bearbeiten) in zu konvertieren und einen Fehler zu erhalten, bedeutet dies, dass das Datum nicht in einem Format vorkommt, das .NET standardmäßig akzeptiert. In diesem Fall wird empfohlen, das Modul Execute R Script oder apply SQL Transformation zu verwenden, um Ihre Spalte in ein Format zu transformieren, das vom Standardparser akzeptiert wird.

    DateTime.Parse-Methode

    Standard-Formatzeichenfolgen für Datum und Uhrzeit

Auswählen von Spalten mithilfe von Spaltenindizes

In sehr großen Datasets ist es nicht möglich, alle Spaltennamen manuell einzugeben oder auszuwählen. Die Verwendung des Spaltenindexes ist eine Verknüpfung, mit der Sie viele Spalten angeben können. Dieser Abschnitt enthält einige Tipps zur Verwendung von Spaltenindizes.

Öffnen Sie z. B. die Spaltenauswahl, klicken Sie auf WITH RULES, wählen Sie Include and column indices (Ein- und Spaltenindizes) aus, und geben Sie dann wie folgt einen Bereich oder eine Reihe von Zahlen ein:

  • Geben Sie 1-20 ein, um die ersten 20 Spalten auszuwählen.
  • Geben Sie 5-20 ein, um einen Bereich von Spalten auszuwählen, der bei 5 beginnt und Spalte 20 enthält.
  • Geben Sie ein 1,5,10,15 , um diskontinuierlich Spalten auszuwählen.
  • Geben Sie 1-2, 5 ein, um die Spalten 1, 2 und 5 auszuwählen, und überspringen Sie die Spalten 3 und 4.
  • Sie können keinen Indexwert eingeben, der größer als die Anzahl der im Dataset verfügbaren Spalten ist.

Die folgenden Experimente enthalten einige Beispiele für andere Methoden zum Auswählen und Ändern mehrerer Spalten:

  • Binäre Klassifizierung: Erkennung von Gesichtserkennung: Die ursprünglichen Daten enthielten viele leere Spalten, die während des Imports aus einer Kalkulationstabelle generiert wurden. Die zusätzlichen Spalten wurden entfernt, indem die Spalten 1 bis 11 im Modul Split Data angegeben wurden.

  • Dataset aus UCI herunterladen: Veranschaulicht, wie Sie Spaltennamen mithilfe des Moduls Enter Data Manually (Daten manuell eingeben) als Liste bereitstellen und die Liste dann mithilfe des Moduls Execute R script (R-Skript ausführen) als Überschriften in das Dataset einfügen können.

  • Regex Select Columns :Dieses Experiment bietet ein benutzerdefiniertes Modul, mit dem Sie einen regulären Ausdruck auf Spaltennamen anwenden können. Sie können dieses Modul als Eingabe zum Bearbeiten von Metadaten verwenden.

Alternative Methoden zum Ändern von Spaltennamen

Wenn Sie viele Spalten umbenennen müssen, können Sie das Execute R Script-Modul oder das Apply SQL Transformation-Modul verwenden.

Verwenden eines R-Skripts

Von Machine Learning verwendete Machine Learning werden als data.frame an dieses Modul übergeben. Das bedeutet, dass Sie die R-Funktion colnames() und andere verwandte R-Funktionen verwenden können, um Spaltennamen auflisten oder ändern zu können.

Der folgende Code erstellt beispielsweise eine Liste neuer Spaltennamen und wendet diese Liste dann auf das Eingabe-Dataset an, um neue Spaltenüberschriften zu generieren.

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

Im folgenden Beispiel wird ein regulärer Ausdruck in R verwendet, um alle Instanzen der angegebenen Zeichenfolge in den Spaltennamen für global zu ersetzen irisdata:

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

Mit SQL

Im folgenden Beispiel wird ein Dataset als Eingabe verwendet, und anschließend werden die Spaltennamen mithilfe des AS-Schlüsselworts geändert.

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

Erwartete Eingabe

Name Type Beschreibung
Dataset Datentabelle Eingabedataset

Modulparameter

Name Range type Standard BESCHREIBUNG
Column Any ColumnSelection Auswählen der Spalten, auf die die Änderungen angewendet werden sollen.
Datentyp Liste Metadata Editor-Datentyp Unverändert Angeben des neuen Datentyps der Spalte.
Kategorisch Liste Metadata Editor-Kategoriewert Unverändert Anzeigen, ob die Spalte als Kategorie gekennzeichnet werden soll.
Felder Liste Metadata Editor-Flag Unverändert Angeben, ob die Spalte vom Lernalgorithmus als Funktion oder Bezeichnung behandelt werden soll.
Neue Spaltennamen any Zeichenfolge Eingeben der neuen Namen der Spalten.

Output

Name Type Beschreibung
Ergebnisdataset Datentabelle Dataset mit geänderten Metadaten.

Ausnahmen

Ausnahme Beschreibung
Fehler 0003 Die Ausnahme tritt auf, wenn mindestens ein Eingabedataset NULL oder leer ist.
Fehler 0017 Eine Ausnahme tritt auf, wenn eine oder mehrere angegebene Spalten einen Typ aufweisen, der im aktuellen Modul nicht unterstützt wird.
Fehler 0020 Eine Ausnahme tritt auf, wenn die Anzahl der Spalten in einigen Datasets, die an das Modul übergeben wurden, zu klein ist.
Fehler 0031 Eine Ausnahme tritt auf, wenn die Anzahl der Spalten im Spaltensatz kleiner als erforderlich ist.
Fehler 0027 Eine Ausnahme tritt auf, wenn zwei Objekte gleich groß sein müssen, dies aber nicht der Fall ist.
Fehler 0028 Eine Ausnahme tritt auf, wenn ein Spaltensatz doppelte Spaltennamen enthält und dies nicht zulässig ist.
Fehler 0037 Eine Ausnahme tritt auf, wenn mehrere Bezeichnungsspalten angegeben sind, aber nur eine zulässig ist.

Eine Liste der Fehler, die für Studio-Module (klassisch) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.

Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.

Siehe auch

Manipulation
Datentransformation
Modulliste von A bis Z