Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Standardscaler, Minmaxscaler, Maxabsscaler | Forbehandling af Data med Scikit-learn
ML Introduktion med Scikit-learn

bookStandardscaler, 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).

Note
Bemærk

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.

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)
copy

Outputtet er ikke det kønneste, da scalere omdanner data til et numpy array, men med pipelines vil det ikke være et problem.

Note
Bemærk

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?

question mark

Hvad er det primære formål med at bruge MinMaxScaler i datapræprocessering?

Select the correct answer

question mark

Hvorfor bør du måske genoverveje at bruge StandardScaler til dit datasæt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 10

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

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

bookStandardscaler, 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).

Note
Bemærk

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.

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)
copy

Outputtet er ikke det kønneste, da scalere omdanner data til et numpy array, men med pipelines vil det ikke være et problem.

Note
Bemærk

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?

question mark

Hvad er det primære formål med at bruge MinMaxScaler i datapræprocessering?

Select the correct answer

question mark

Hvorfor bør du måske genoverveje at bruge StandardScaler til dit datasæt?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 10
some-alt