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.
- Siehe Migrieren zu Azure Machine Learning
- Weitere Informationen zu Azure Machine Learning.
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.
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".
Stellen Sie eine Verbindung mit einem Dataset her, das mindestens eine Spalte mit allen Zahlen enthält.
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.
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.
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:
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:
Logistic: Die Werte in der Spalte werden mithilfe der folgenden Formel transformiert:
LogNormal: Diese Option konvertiert alle Werte in eine logarithmische Normalverteilung.
Die Werte in der Spalte werden mithilfe der folgenden Formel transformiert:
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:
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.