Was ist der Unterschied zwischen Normalisierung und Standardskalierung beim maschinellen Lernen? (10.28.21)

Feature Engineering und Datenvisualisierung sind ein wesentlicher Bestandteil bei der Durchführung aller Arbeiten im Zusammenhang mit maschinellem Lernen und Datenanalyse. Da es Entwicklern ermöglicht, ihre Daten zu analysieren und die verschiedenen Ausreißer und negativ korrelierten Merkmale mit dem Zielmerkmal zu finden. Die Idee ist, den Datensatz so sauber wie möglich zu machen, damit ein robustes Modell für maschinelles Lernen erstellt und von anderen repliziert werden kann. Um Aktivitäten im Zusammenhang mit Feature-Engineering durchzuführen, gibt es viele Möglichkeiten, wie das Löschen von Nullwertspalten, das Ersetzen bestimmter Werte in den Spalten durch relevante Informationen, das Löschen der Ausreißer im Dataset, das Ändern des Datentyps der Spalten und vieles mehr.

Eine solche Funktion im Engineering ist die Skalierung der Metadaten der Spalten in unserem Datensatz. Es gibt hauptsächlich zwei Arten von Skalierungstechniken, die normalerweise von Data Scientists durchgeführt werden: Standardskalierung und Normalisierung. Diese beiden Skalierungstechniken arbeiten zwar nach dem gleichen Prinzip, das die Funktionen herunterskaliert, haben jedoch einen anderen Arbeitsmechanismus und erzeugen unterschiedliche Arten von Ergebnissen. Lassen Sie uns die Unterschiede zwischen diesen beiden Skalierungstechniken besprechen, damit wir besser verstehen, wann was zu verwenden ist:

Warum Skalierung verwenden und für welche Algorithmen?

Zunächst müssen wir verstehen, warum wir Skalierungstechniken in unserem Datensatz implementieren müssen, oder? Die Antwort darauf ist unten gegeben:

Die maschinellen Lernalgorithmen, die vom Gradientenabstieg abhängen, einer parabolischen Kurve, bei der unsere Funktion versucht, den globalen Minimapunkt zu erreichen, um das Gewicht zu aktualisieren und den Fehler oder die Kosten zu reduzieren Funktion. Machine-Learning-Algorithmen wie Lineare, Logistische Regression und Deep-Learning-Algorithmen basieren auf dem Konzept vonGradientenabstieg, also müssen wir hier unsere Daten skalieren. Der Grund für die Auswahl von Skalierungstechniken besteht darin, dass die Werte der unabhängigen Merkmale linear trennbar und nicht gestreut sein sollten, wenn wir versuchen, das globale Minimum durch Aktualisierung der Gewichte durch Backpropagation zu erreichen, da dies zu Überanpassung und Unteranpassung führen kann. Damit diese Merkmale linear getrennt werden, müssen wir daher Skalierungstechniken verwenden.

Bei baumbasierten Algorithmen ist der Fall völlig anders, da es hier keinen Sinn macht, die am besten passende Linie zu erstellen und dann die . zu berechnen Abstände von Features von der Best-Fit-Linie und Aktualisieren der Gewichtungen entsprechend. Baumbasierte Algorithmen erfordern also keine Merkmalsskalierung und es wirkt sich nachteilig auf die Effizienz des Modells aus, wenn wir hier auf Skalierungstechniken anwenden.

Normalisierung

Hier werden wir diskutieren, was genau die Bedeutung von Normalisierung?

Es handelt sich um eine Skalierungstechnik, die es Benutzern ermöglicht, ihre Daten zwischen einem Bereich von 0 bis 1 zu skalieren. Diese Skalierungstechnik sollte verwendet werden, wenn die Metadaten der Merkmale nicht folgen eine Gaußsche Verteilung, die nicht der glockenförmigen Kurve folgt, bei der der Mittelpunkt der Mittelwert gleich 0 und die Standardabweichung gleich 1 ist. Wenn also der Graph des Datensatzes nicht der Glockenkurve folgt, sollten wir die Normalisierungstechnik verwenden. Es wird auch Min-Max-Skalierungstechnik genannt und wird im Allgemeinen in Convolutional Neural Networks verwendet, die eine bildbasierte Analyse darstellen.

Die Formel für die Normalisierung lautet:

X' = X – Xmin / Xmax – Xmin, wobei X das unabhängige Merkmal, Xmin der Minimalwert des Merkmals und Xmax der Maximalwert von ist die Funktion.

Standardisierung

Z Score= X – µ / σ, wobei X das unabhängige Merkmal ist, µ der Mittelwert der Metadaten der Merkmal, und σ ist die Standardabweichung.

Es ist eine Technik, die verwendet wird, wenn der Datensatz bei der Visualisierung einer glockenförmigen Kurve ähnelt durch Grafik und Glyphen. Dies wird auch als Gaußsche Normalverteilungn bezeichnet, bei der alle Features auf den Mittelwert von 0 und die Standardabweichung von 1 zentriert sind. Die Standardisierungstechnik hilft Benutzern, Ausreißer im Datensatz zu finden. Die Methode zum Finden der Ausreißer und zum Konvertieren der Daten in die Standardskala wird als Z-Score-Methode bezeichnet und die Formel zum Ermitteln des Z-Scores ist unten angegeben:

Die Standardskalierung findet ihre Anwendung in vielen Algorithmen des maschinellen Lernens wie logistische Regression, Support Vector Machine, lineare Regression und viele mehr.

Normalisierung vs. Standardisierung

Obwohl wir den Unterschied zwischen Standardisierung und Normalisierung in realen Fällen erwähnt haben, hängt er von Benutzer, was und wann zu verwenden ist, da es keine feste Regel gibt, dass wir diese Technik hier anwenden und die anderen nicht respektieren sollten. Die Auswahl ist völlig unvoreingenommen und Benutzer können beide Techniken verwenden und ihr Modell verfeinern und den Unterschied sehen, den sie in der Punktzahl des Datensatzes erzielen.

Wie verwendet man die Normalisierung in Python?

from Sklearn.preprocessing import MinMaxScaler    Norm= MinMaxScaler()    X_new= Norm.fit_transform(X)    print(X_new)

Wie verwende ich die Standardisierung in Python?

from Sklearn.preprocessing import StandardScaler    Scaler= StandardScaler()    X_new= Scaler.fit_transform(X)    print(X_new)

 


YTube Video: Was ist der Unterschied zwischen Normalisierung und Standardskalierung beim maschinellen Lernen?

10, 2021