Standardscaler, Minmaxscaler, Maxabsscaler
Der er tre populære metoder til skalering af data:
MinMaxScaler
: skalerer funktioner til et [0, 1] interval;MaxAbsScaler
: skalerer funktioner, så den maksimale absolutte værdi er 1 (så dataene garanteres at være i intervallet [-1, 1]);StandardScaler
: standardiserer funktioner, så gennemsnittet bliver 0 og variansen bliver 1.
For at illustrere hvordan scalers fungerer, kan man overveje funktionerne 'culmen_depth_mm'
og 'body_mass_g'
fra penguins dataset. Disse funktioner kan plottes for at observere deres skalaer.
MinMaxScaler
MinMaxScaler
fungerer ved at trække minimumsværdien fra (så værdierne starter fra nul) og derefter dividere med (x_max - x_min) for at sikre, at værdien er mindre end eller lig med 1.
Her er en gif, der viser, hvordan MinMaxScaler
fungerer:
MaxAbsScaler
MaxAbsScaler
fungerer ved at finde den største absolutte værdi og dividere hver værdi med denne. Dette sikrer, at den største absolutte værdi er 1.
StandardScaler
Ideen bag StandardScaler
stammer fra statistik. Den fungerer ved at trække middelværdien fra (for at centrere omkring nul) og dividere med standardafvigelsen (for at gøre variansen lig med 1).
Hvis du ikke forstår, hvad gennemsnit, standardafvigelse og varians er, kan du se vores Learning Statistics with Python kursus. Denne viden er dog ikke obligatorisk for at fortsætte.
Her er et kodeeksempel med MinMaxScaler
. Andre scalere anvendes på samme måde.
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)
Outputtet er ikke det kønneste, da scalere omdanner data til et numpy
array, men med pipelines vil det ikke være et problem.
Du bør kun skalere feature-kolonnerne (variablen X
). Der er ikke behov for at skalere target-variablen, da det vil komplicere processen med omvendt transformation.
Hvilken scaler skal bruges?
En StandardScaler
er mere følsom over for outliers, hvilket gør den mindre egnet som standard scaler. Hvis du foretrækker et alternativ til StandardScaler
, afhænger valget mellem MinMaxScaler
og MaxAbsScaler
af personlig præference, om du ønsker at skalere data til [0,1] intervallet med MinMaxScaler
eller til [-1,1] med MaxAbsScaler
.
1. Hvad er det primære formål med at bruge MinMaxScaler
i datapræprocessering?
2. Hvorfor bør du måske genoverveje at bruge StandardScaler
til dit datasæt?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
Stryg for at vise menuen
Der er tre populære metoder til skalering af data:
MinMaxScaler
: skalerer funktioner til et [0, 1] interval;MaxAbsScaler
: skalerer funktioner, så den maksimale absolutte værdi er 1 (så dataene garanteres at være i intervallet [-1, 1]);StandardScaler
: standardiserer funktioner, så gennemsnittet bliver 0 og variansen bliver 1.
For at illustrere hvordan scalers fungerer, kan man overveje funktionerne 'culmen_depth_mm'
og 'body_mass_g'
fra penguins dataset. Disse funktioner kan plottes for at observere deres skalaer.
MinMaxScaler
MinMaxScaler
fungerer ved at trække minimumsværdien fra (så værdierne starter fra nul) og derefter dividere med (x_max - x_min) for at sikre, at værdien er mindre end eller lig med 1.
Her er en gif, der viser, hvordan MinMaxScaler
fungerer:
MaxAbsScaler
MaxAbsScaler
fungerer ved at finde den største absolutte værdi og dividere hver værdi med denne. Dette sikrer, at den største absolutte værdi er 1.
StandardScaler
Ideen bag StandardScaler
stammer fra statistik. Den fungerer ved at trække middelværdien fra (for at centrere omkring nul) og dividere med standardafvigelsen (for at gøre variansen lig med 1).
Hvis du ikke forstår, hvad gennemsnit, standardafvigelse og varians er, kan du se vores Learning Statistics with Python kursus. Denne viden er dog ikke obligatorisk for at fortsætte.
Her er et kodeeksempel med MinMaxScaler
. Andre scalere anvendes på samme måde.
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)
Outputtet er ikke det kønneste, da scalere omdanner data til et numpy
array, men med pipelines vil det ikke være et problem.
Du bør kun skalere feature-kolonnerne (variablen X
). Der er ikke behov for at skalere target-variablen, da det vil komplicere processen med omvendt transformation.
Hvilken scaler skal bruges?
En StandardScaler
er mere følsom over for outliers, hvilket gør den mindre egnet som standard scaler. Hvis du foretrækker et alternativ til StandardScaler
, afhænger valget mellem MinMaxScaler
og MaxAbsScaler
af personlig præference, om du ønsker at skalere data til [0,1] intervallet med MinMaxScaler
eller til [-1,1] med MaxAbsScaler
.
1. Hvad er det primære formål med at bruge MinMaxScaler
i datapræprocessering?
2. Hvorfor bør du måske genoverveje at bruge StandardScaler
til dit datasæt?
Tak for dine kommentarer!