StandardScaler, MinMaxScaler, MaxAbsScaler
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.
Zur Veranschaulichung der Funktionsweise von Scaler werden die Merkmale 'culmen_depth_mm' und 'body_mass_g' aus dem penguins dataset betrachtet. Diese Merkmale können geplottet werden, um ihre Skalen zu beobachten.
MinMaxScaler
Der MinMaxScaler arbeitet, indem er den Minimalwert subtrahiert (damit die Werte bei Null beginnen) und anschließend durch (x_max - x_min) teilt, sodass der Wert kleiner oder gleich 1 ist.
Hier ist das GIF, das zeigt, wie der MinMaxScaler funktioniert:
MaxAbsScaler
Der MaxAbsScaler arbeitet, indem er den maximalen Absolutwert ermittelt und jeden Wert durch diesen teilt. Dadurch wird sichergestellt, dass der maximale Absolutwert 1 ist.
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).
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.
Hier ein Programmierbeispiel mit MinMaxScaler. Andere Skalierer werden auf die gleiche Weise angewendet.
12345678910import 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. Mit Pipelines stellt dies jedoch kein Problem dar.
Es sollten nur die Merkmalsspalten (die X-Variable) skaliert werden. Die Zielvariable muss nicht skaliert werden, da dies den Prozess der inversen Transformation erschweren würde.
Welcher Skalierer sollte verwendet werden?
Ein StandardScaler ist empfindlicher gegenüber Ausreißern und daher weniger als Standardskalierer geeignet. Falls eine Alternative zum StandardScaler bevorzugt wird, hängt die Wahl zwischen MinMaxScaler und MaxAbsScaler von den persönlichen 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?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.13
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.
Zur Veranschaulichung der Funktionsweise von Scaler werden die Merkmale 'culmen_depth_mm' und 'body_mass_g' aus dem penguins dataset betrachtet. Diese Merkmale können geplottet werden, um ihre Skalen zu beobachten.
MinMaxScaler
Der MinMaxScaler arbeitet, indem er den Minimalwert subtrahiert (damit die Werte bei Null beginnen) und anschließend durch (x_max - x_min) teilt, sodass der Wert kleiner oder gleich 1 ist.
Hier ist das GIF, das zeigt, wie der MinMaxScaler funktioniert:
MaxAbsScaler
Der MaxAbsScaler arbeitet, indem er den maximalen Absolutwert ermittelt und jeden Wert durch diesen teilt. Dadurch wird sichergestellt, dass der maximale Absolutwert 1 ist.
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).
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.
Hier ein Programmierbeispiel mit MinMaxScaler. Andere Skalierer werden auf die gleiche Weise angewendet.
12345678910import 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. Mit Pipelines stellt dies jedoch kein Problem dar.
Es sollten nur die Merkmalsspalten (die X-Variable) skaliert werden. Die Zielvariable muss nicht skaliert werden, da dies den Prozess der inversen Transformation erschweren würde.
Welcher Skalierer sollte verwendet werden?
Ein StandardScaler ist empfindlicher gegenüber Ausreißern und daher weniger als Standardskalierer geeignet. Falls eine Alternative zum StandardScaler bevorzugt wird, hängt die Wahl zwischen MinMaxScaler und MaxAbsScaler von den persönlichen 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?
Danke für Ihr Feedback!