Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Standardscaler, Minmaxscaler, Maxabsscaler | Datenvorverarbeitung mit Scikit-Learn
Einführung in das Maschinelle Lernen mit Python

Standardscaler, Minmaxscaler, Maxabsscaler

Swipe um das Menü anzuzeigen

Es gibt drei gängige Ansätze zur Skalierung von Daten:

  • MinMaxScaler: skaliert Merkmale auf einen Bereich von [0, 1];
  • MaxAbsScaler: skaliert Merkmale so, dass der maximale Absolutwert 1 ist (die Daten liegen somit garantiert im Bereich [-1, 1]);
  • StandardScaler: standardisiert Merkmale, sodass der Mittelwert 0 und die Varianz 1 beträgt.

Um zu veranschaulichen, wie Skalierer arbeiten, betrachten Sie die Merkmale 'culmen_depth_mm' und 'body_mass_g' aus dem penguins dataset. Diese Merkmale können geplottet werden, um ihre Skalen zu beobachten.

keine Skalierung

MinMaxScaler

Der MinMaxScaler funktioniert, indem er den Minimalwert subtrahiert (um die Werte bei Null beginnen zu lassen) und anschließend durch (x_max - x_min) teilt, sodass das Ergebnis kleiner oder gleich 1 ist.

MinMax
MinMaxScaler

Hier ist das GIF, das zeigt, wie der MinMaxScaler funktioniert:

MinMax-Skalierung

MaxAbsScaler

Der MaxAbsScaler funktioniert, indem er den maximalen Absolutwert ermittelt und jeden Wert durch diesen teilt. Dadurch wird sichergestellt, dass der maximale Absolutwert 1 ist.

MaxAbs
MaxAbsScaler
MaxAbs-Skalierung

StandardScaler

Das Konzept des StandardScaler stammt aus der Statistik. Er funktioniert, indem er den Mittelwert subtrahiert (um die Werte um Null zu zentrieren) und durch die Standardabweichung teilt (um die Varianz auf 1 zu setzen).

Note
Hinweis

Falls Sie nicht wissen, was Mittelwert, Standardabweichung und Varianz sind, können Sie unseren Learning Statistics with Python-Kurs besuchen. Dieses Wissen ist jedoch nicht zwingend erforderlich, um fortzufahren.

StandardScaler-Formel
StandardScaler
StandardScaling

Hier ist ein Codebeispiel mit MinMaxScaler. Andere Skalierer werden auf die gleiche Weise angewendet.

12345678910
import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_imputed_encoded.csv') # Assign X,y variables X, y = df.drop('species', axis=1), df['species'] # Initialize a MinMaxScaler object and transform the X minmax = MinMaxScaler() X = minmax.fit_transform(X) print(X)

Die Ausgabe ist nicht besonders ansprechend, da Skalierer die Daten in ein numpy-Array umwandeln, aber mit Pipelines stellt das kein Problem dar.

Note
Hinweis

Es sollten nur die Merkmalsspalten (die Variable X) skaliert werden. Es ist nicht notwendig, die Zielvariable zu skalieren, da dies den Prozess der inversen Transformation erschweren würde.

Welchen Scaler verwenden?

Ein StandardScaler ist empfindlicher gegenüber Ausreißern und daher weniger als Standardskaler geeignet. Wenn eine Alternative zu StandardScaler bevorzugt wird, hängt die Wahl zwischen MinMaxScaler und MaxAbsScaler von den eigenen Präferenzen ab: Entweder Skalierung der Daten auf den Bereich [0,1] mit MinMaxScaler oder auf [-1,1] mit MaxAbsScaler.

1. Was ist der Hauptzweck der Verwendung von MinMaxScaler bei der Datenvorverarbeitung?

2. Warum könnte man die Verwendung von StandardScaler für den eigenen Datensatz überdenken?

question mark

Was ist der Hauptzweck der Verwendung von MinMaxScaler bei der Datenvorverarbeitung?

Wählen Sie die richtige Antwort aus

question mark

Warum könnte man die Verwendung von StandardScaler für den eigenen Datensatz überdenken?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 10

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Abschnitt 2. Kapitel 10
some-alt