Freigeben über


Normalisieren von Daten

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.

Skaliert numerische Daten neu, um Datasetwerte auf einen Standardbereich einzuschränken.

Kategorie: Datentransformation / Skalierung und Reduzieren

Hinweis

Giltnur 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 Normalize Data-Modul in Machine Learning Studio (klassisch) verwenden, um ein Dataset durch Normalisierung zu transformieren.

Normalisierung ist eine Methode, die häufig im Rahmen der Datenaufbereitung für maschinelles Lernen eingesetzt wird. Ziel der Normalisierung ist es, die Werte numerischer Spalten im Dataset so zu ändern, dass sie eine gemeinsame Skala verwenden, ohne Unterschiede in den Wertebereichen zu verzerren oder Informationen zu verlieren. Eine Normalisierung ist auch für einige Algorithmen erforderlich, um die Daten ordnungsgemäß zu modellieren.

Angenommen, Ihr Eingabedataset enthält eine Spalte mit Werten von 0 bis 1 und eine weitere Spalte mit Werten von 10.000 bis 100.000. Der große Unterschied in der Skala der Werte kann zu Problemen führen, wenn Sie versuchen, die Werte während der Modellierung als Features zu kombinieren.

Dank Normalisierung werden diese Probleme vermieden, indem neue Werte erstellt werden, die die allgemeine Verteilung und Verhältnisse in den Quelldaten beibehalten, während die Werte innerhalb einer Skala verbleiben, die für alle im Modell verwendeten numerischen Spalten gilt.

Dieses Modul bietet mehrere Optionen zum Transformieren numerischer Daten:

  • Sie können alle Werte auf einer Skala von 0-1 ändern oder die Werte transformieren, indem Sie sie als Perzentilränge statt als absolute Werte darstellen.
  • Sie können die Normalisierung auf eine einzelne Spalte oder mehrere Spalten in einem Dataset anwenden.
  • Wenn Sie das Experiment wiederholen oder die gleichen Normalisierungsschritte auf andere Daten anwenden müssen, können Sie die Schritte als Normalisierungstransformation speichern und auf andere Datasets anwenden, die das gleiche Schema haben.

Warnung

Einige Algorithmen erfordern, dass Daten vor dem Trainieren eines Modells normalisiert werden. Andere Algorithmen führen ihre eigenen Datenskalierung oder -normalisierung durch. Wenn Sie also einen Algorithmus für maschinelles Lernen wählen, der beim Erstellen eines prädiktiven Modells verwendet werden soll, überprüfen Sie unbedingt die Datenanforderungen des Algorithmus, bevor Sie die Normalisierung auf die Trainingsdaten anwenden.

So konfigurieren Sie Die Normalisierung von Daten

Mithilfe dieses Moduls können Sie jeweils nur eine Normalisierungsmethode anwenden. Aus diesem Grund wird die gleiche Normalisierungsmethode auf alle Spalten angewendet, die Sie auswählen. Um andere Normalisierungsmethoden anzuwenden, verwenden Sie eine zweite Instanz von Normalize Data.

  1. Fügen Sie das Modul Normalize Data Ihrem Experiment hinzu. Sie finden das Modul in Machine Learning Studio (klassisch), unter Datentransformation, in der Kategorie "Skalierung" und "Reduzieren".

  2. Stellen Sie eine Verbindung mit einem Dataset her, das mindestens eine Spalte mit allen Zahlen enthält.

  3. Wählen Sie die zu normalisierenden Spalten mithilfe der Spaltenauswahlfunktion aus. Wenn Sie keine einzelnen Spalten auswählen, werden standardmäßig alle numerischen Spalten in der Eingabe berücksichtigt. Der gleiche Normalisierungsprozess wird auf alle ausgewählten Spalten angewendet.

    Dies kann zu unerwünschten Ergebnissen führen, wenn Sie numerische Spalten einbeziehen, die nicht normalisiert werden sollten! Überprüfen Sie die Spalten stets sorgfältig.

    Wenn keine numerischen Spalten erkannt werden, überprüfen Sie die Metadaten der Spalte, um sicherzustellen, dass der Datentyp der Spalte ein unterstützter numerischer Typ ist.

    Tipp

    Um sicherzustellen, dass Spalten eines bestimmten Typs als Eingabe zur Verfügung gestellt werden, sollten Sie das Modul Select Columns in Dataset (Spalten im Datensatz auswählen) vor Normalize Data verwenden.

  4. Use 0 for constant columns when checked (0 für konstante Spalten verwenden, falls aktiviert): Aktivieren Sie diese Option, wenn eine numerische Spalte einen einzelnen unveränderlichen Wert enthält. Dadurch wird sichergestellt, dass solche Spalten bei Normalisierungsvorgängen nicht berücksichtigt werden.

  5. Wählen Sie in der Dropdownliste der Transformationsmethode eine einzelne mathematische Funktion aus, die auf alle ausgewählten Spalten angewendet werden soll.

    • Zscore: Konvertiert alle Werte in ein Z-Ergebnis.

      Die Werte in der Spalte werden mithilfe der folgenden Formel transformiert:

      normalization using z-scores

      Mittlere und Standardabweichung werden für jede Spalte getrennt berechnet. Die Standardabweichung der Grundgesamtheit wird verwendet.

    • MinMax: Die Min-Max Normalisierungsfunktion skaliert jede Funktion linear auf das Intervall [0,1].

      Die Umskalierung in das Intervall [0,1] erfolgt durch Verschieben der Werte jedes Features, sodass der Minimalwert 0 ist. Anschließend erfolgt eine Division durch den neuen Maximalwert (was die Differenz zwischen dem ursprünglichen Maximal- und Minimalwert ergibt).

      Die Werte in der Spalte werden mithilfe der folgenden Formel transformiert:

      normalization using the min-max function

    • Logistic: Die Werte in der Spalte werden mithilfe der folgenden Formel transformiert:

      formula for normalization by logistic function

    • LogNormal: Diese Option konvertiert alle Werte in eine logarithmische Normalverteilung.

      Die Werte in der Spalte werden mithilfe der folgenden Formel transformiert:

      formula log-normal distribution

      Hier sind μ und σ die Parameter der Verteilung, die empirisch anhand der Daten als Maximum-Likelihood-Schätzungen berechnet werden, und zwar für jede Spalte einzeln.

    • TanH: Alle Werte werden in einen hyperbolischen Tangens konvertiert.

      Die Werte in der Spalte werden mithilfe der folgenden Formel transformiert:

      normalization using the tanh function

  6. Führen Sie das Experiment aus, oder doppelklicken Sie auf das Modul Normalize Data, und klicken Sie auf Run Selected (Ausgewählte ausführen).

Ergebnisse

Das Modul Normalize Data generiert zwei Ausgaben:

  • Um die transformierten Werte anzuzeigen, klicken Sie mit der rechten Maustaste auf das Modul. Wählen Sie Transformed dataset (Transformiertes Dataset) aus, und klicken Sie auf Visualize (Visualisieren).

    Standardmäßig werden Werte direkt transformiert. Wenn Sie die transformierten Werte mit den ursprünglichen Werten vergleichen möchten, verwenden Sie das Modul "Spalten hinzufügen ", um die Datasets neu zukombinieren und die Spalten nebeneinander anzuzeigen.

  • Um die Transformation so zu speichern, dass Sie die gleiche Normalisierungsmethode auf ein anderes ähnliches Dataset anwenden können, klicken Sie mit der rechten Maustaste auf das Modul, wählen Sie Transformation function (Transformationsfunktion)aus, und klicken Sie auf Save as Transform (Als Transformation speichern).

    Sie können anschließend die gespeicherten Transformationen aus der Gruppe Transforms im linken Navigationsbereich laden und sie auf ein Dataset mit dem gleichen Schema anwenden, indem Sie Apply Transformation (Transformation anwenden) verwenden.

Beispiele

Beispiele für die Verwendung der Normalisierung im Maschinellen Lernen finden Sie im Azure AI Gallery:

  • Kreditrisikovorhersage: In diesem Beispiel wird die Normalisierung auf alle numerischen Daten angewendet, außer der Klassenspalte, der Kreditrisikobewertung. In diesem Beispiel wird die Tanh-Transformation verwendet, die alle numerischen Features in Werte innerhalb eines Bereichs von 0-1 konvertiert.

Technische Hinweise

Dieses Modul unterstützt nur die im Abschnitt "How to " aufgeführten Standard normalisierungsmethoden und unterstützt keine Matrix normalisierung oder andere komplexe Transformationen.

Wenn Sie eine benutzerdefinierte Normalisierungsmethode erstellen müssen, können Sie die Execute R-Skript- oder ExecutePython-Skriptmodule verwenden, um die Transformation zu berechnen und anzuwenden.

Algorithmen, die die Normalisierung anwenden

Normalisierungsfeatures, damit sie eine allgemeine Skalierung verwenden, ist eine allgemeine Anforderung für viele maschinelle Lernalgorithmen.

  • In linearen Klassifizierungsalgorithmen werden Instanzen als Vektoren im mehrdimensionalen Raum angezeigt. Da der Wertebereich von Rohdaten stark variiert, funktionieren einige objektive Funktionen nicht ordnungsgemäß ohne Normalisierung. Wenn beispielsweise eine der Funktionen über einen breiten Wertebereich verfügt, wird die Entfernung zwischen Punkten durch diese spezielle Funktion gesteuert.

    Aus diesem Grund sollten numerische Funktionen so normalisiert werden, dass jede Funktion etwa proportional zur endgültigen Distanz beiträgt. Dies kann erhebliche Vorteile für Beschleunigung und Genauigkeit bieten.

  • Bei Verwendung der Logistik-Regressions - und Mittelwert-Perceptron-Algorithmen werden standardmäßig Features vor der Schulung normalisiert.

Weitere Informationen und Ressourcen

Wenn Sie nicht sicher sind, welche Art der Normalisierung ihren Daten entspricht, lesen Sie diese Ressourcen:

  • Empfehlen Sie Module für Meine Daten: Dieses benutzerdefinierte Modul durch ein Mitglied des Azure ML-Teams ausgewertet Ihr Dataset und empfiehlt Schritte zur Reinigung und Skalierung von Daten.

  • Featurekalierung: In diesem Artikel in Wikipedia werden die grundlegenden Methoden erläutert, die für die Normalisierung numerischer Daten verwendet werden.

  • Die Datenvorbereitung für Data Mining umfasst viele Datenvorbereitungsschritte in tiefem Bereich. Siehe Kapitel 7 für eine Diskussion über die Daten normalisierung.

Erwartete Eingaben

Name type BESCHREIBUNG
Dataset Datentabelle Eingabedataset

Modulparameter

Name Range type Standard BESCHREIBUNG
Transformation method any TransformationMethods ZScore Wählen Sie die mathematische Methode aus, mit der standardisiert (normiert) werden soll.
Columns to transform any ColumnSelection NumericAll Wählen Sie alle Spalten aus, auf die die ausgewählte Transformation angewendet werden soll.

Ausgaben

Name type BESCHREIBUNG
Transformiertes Dataset Datentabelle Transformiertes Dataset
Transformation function ITransform-Schnittstelle Die Definition der Transformationsfunktion, die auf andere Datasets angewendet werden kann

Ausnahmen

Ausnahme Beschreibung
Fehler 0001 Eine Ausnahme tritt auf, wenn eine oder mehrere angegebene Spalten des Datasets nicht gefunden werden konnten.
Fehler 0003 Eine Ausnahme tritt auf, wenn mindestens eine Eingabe NULL oder leer ist.
Fehler 0017 Die 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 der an das Modul übergebenen Datasets zu klein ist.
Fehler 0021 Eine Ausnahme tritt auf, wenn die Anzahl der Zeilen in einigen der an das Modul übergebenen Datasets zu klein ist.

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

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

Siehe auch

Scale and Reduce