StandardScaler, MinMaxScaler, MaxAbsScaler
Er zijn drie populaire benaderingen voor het schalen van gegevens:
MinMaxScaler
: schaalt kenmerken naar een bereik van [0, 1];MaxAbsScaler
: schaalt kenmerken zodat de maximale absolute waarde 1 is (waardoor de gegevens gegarandeerd binnen het bereik [-1, 1] vallen);StandardScaler
: standaardiseert kenmerken zodat het gemiddelde gelijk is aan 0 en de variantie gelijk is aan 1.
Om te illustreren hoe scalers werken, worden de kenmerken 'culmen_depth_mm'
en 'body_mass_g'
uit de penguins dataset gebruikt. Deze kenmerken kunnen worden gevisualiseerd om hun schalen te observeren.
MinMaxScaler
De MinMaxScaler
werkt door de minimale waarde af te trekken (zodat de waarden vanaf nul beginnen) en vervolgens te delen door (x_max - x_min) zodat het resultaat kleiner dan of gelijk aan 1 is.
Hier is de gif die laat zien hoe MinMaxScaler
werkt:
MaxAbsScaler
De MaxAbsScaler
werkt door de maximale absolute waarde te vinden en elke waarde hierdoor te delen. Dit zorgt ervoor dat de maximale absolute waarde gelijk is aan 1.
StandardScaler
Het idee van StandardScaler
komt uit de statistiek. Het werkt door het gemiddelde af te trekken (om te centreren rond nul) en te delen door de standaardafwijking (om de variantie gelijk aan 1 te maken).
Als u niet begrijpt wat het gemiddelde, de standaarddeviatie en de variantie zijn, kunt u onze Learning Statistics with Python cursus raadplegen. Deze kennis is echter niet verplicht om verder te gaan.
Hier is een codevoorbeeld met MinMaxScaler
. Andere scalers worden op dezelfde manier toegepast.
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)
De uitvoer ziet er niet het mooiste uit omdat scalers de data omzetten naar een numpy
array, maar met pipelines vormt dit geen probleem.
Alleen de featurekolommen (de X
-variabele) schalen. Het is niet nodig om de doelvariabele te schalen, omdat dit het inverse transformatieproces zou bemoeilijken.
Welke scaler gebruiken?
Een StandardScaler
is meer gevoelig voor uitschieters, waardoor deze minder geschikt is als standaard scaler. Als alternatief voor de StandardScaler
hangt de keuze tussen MinMaxScaler
en MaxAbsScaler
af van persoonlijke voorkeur: data schalen naar het [0,1] bereik met MinMaxScaler
of naar [-1,1] met MaxAbsScaler
.
1. Wat is het primaire doel van het gebruik van MinMaxScaler
bij gegevensvoorbewerking?
2. Waarom zou je het gebruik van StandardScaler
voor je dataset kunnen heroverwegen?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Can you explain when to use each scaler in practice?
What are the main differences between MinMaxScaler and MaxAbsScaler?
Are there any drawbacks to using StandardScaler with outliers?
Awesome!
Completion rate improved to 3.13
StandardScaler, MinMaxScaler, MaxAbsScaler
Veeg om het menu te tonen
Er zijn drie populaire benaderingen voor het schalen van gegevens:
MinMaxScaler
: schaalt kenmerken naar een bereik van [0, 1];MaxAbsScaler
: schaalt kenmerken zodat de maximale absolute waarde 1 is (waardoor de gegevens gegarandeerd binnen het bereik [-1, 1] vallen);StandardScaler
: standaardiseert kenmerken zodat het gemiddelde gelijk is aan 0 en de variantie gelijk is aan 1.
Om te illustreren hoe scalers werken, worden de kenmerken 'culmen_depth_mm'
en 'body_mass_g'
uit de penguins dataset gebruikt. Deze kenmerken kunnen worden gevisualiseerd om hun schalen te observeren.
MinMaxScaler
De MinMaxScaler
werkt door de minimale waarde af te trekken (zodat de waarden vanaf nul beginnen) en vervolgens te delen door (x_max - x_min) zodat het resultaat kleiner dan of gelijk aan 1 is.
Hier is de gif die laat zien hoe MinMaxScaler
werkt:
MaxAbsScaler
De MaxAbsScaler
werkt door de maximale absolute waarde te vinden en elke waarde hierdoor te delen. Dit zorgt ervoor dat de maximale absolute waarde gelijk is aan 1.
StandardScaler
Het idee van StandardScaler
komt uit de statistiek. Het werkt door het gemiddelde af te trekken (om te centreren rond nul) en te delen door de standaardafwijking (om de variantie gelijk aan 1 te maken).
Als u niet begrijpt wat het gemiddelde, de standaarddeviatie en de variantie zijn, kunt u onze Learning Statistics with Python cursus raadplegen. Deze kennis is echter niet verplicht om verder te gaan.
Hier is een codevoorbeeld met MinMaxScaler
. Andere scalers worden op dezelfde manier toegepast.
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)
De uitvoer ziet er niet het mooiste uit omdat scalers de data omzetten naar een numpy
array, maar met pipelines vormt dit geen probleem.
Alleen de featurekolommen (de X
-variabele) schalen. Het is niet nodig om de doelvariabele te schalen, omdat dit het inverse transformatieproces zou bemoeilijken.
Welke scaler gebruiken?
Een StandardScaler
is meer gevoelig voor uitschieters, waardoor deze minder geschikt is als standaard scaler. Als alternatief voor de StandardScaler
hangt de keuze tussen MinMaxScaler
en MaxAbsScaler
af van persoonlijke voorkeur: data schalen naar het [0,1] bereik met MinMaxScaler
of naar [-1,1] met MaxAbsScaler
.
1. Wat is het primaire doel van het gebruik van MinMaxScaler
bij gegevensvoorbewerking?
2. Waarom zou je het gebruik van StandardScaler
voor je dataset kunnen heroverwegen?
Bedankt voor je feedback!