Standardscaler, Minmaxscaler, Maxabsscaler
Der findes 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å data garanteres at være i intervallet [-1, 1]);StandardScaler: standardiserer funktioner, så gennemsnittet bliver 0 og variansen bliver 1.
For at illustrere hvordan scalere 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 gif'en, der viser, hvordan MinMaxScaler fungerer:
MaxAbsScaler
MaxAbsScaler fungerer ved at finde den maksimale absolutværdi og dividere hver værdi med denne. Dette sikrer, at den maksimale absolutværdi er 1.
StandardScaler
Ideen bag StandardScaler stammer fra statistik. Den fungerer ved at trække gennemsnittet 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 dataene 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 ingen grund til at skalere målvariablen, da det vil gøre den inverse transformation mere kompliceret.
Hvilken scaler skal anvendes?
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 kan det være nødvendigt at genoverveje brugen af 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
Fantastisk!
Completion rate forbedret til 4.55
Standardscaler, Minmaxscaler, Maxabsscaler
Stryg for at vise menuen
Der findes 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å data garanteres at være i intervallet [-1, 1]);StandardScaler: standardiserer funktioner, så gennemsnittet bliver 0 og variansen bliver 1.
For at illustrere hvordan scalere 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 gif'en, der viser, hvordan MinMaxScaler fungerer:
MaxAbsScaler
MaxAbsScaler fungerer ved at finde den maksimale absolutværdi og dividere hver værdi med denne. Dette sikrer, at den maksimale absolutværdi er 1.
StandardScaler
Ideen bag StandardScaler stammer fra statistik. Den fungerer ved at trække gennemsnittet 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 dataene 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 ingen grund til at skalere målvariablen, da det vil gøre den inverse transformation mere kompliceret.
Hvilken scaler skal anvendes?
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 kan det være nødvendigt at genoverveje brugen af StandardScaler til dit datasæt?
Tak for dine kommentarer!