Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Standardskaler, MinmaksSkaler, MaksAbsSkaler | Forbehandling av Data med Scikit-learn
ML-Introduksjon med Scikit-learn

bookStandardskaler, MinmaksSkaler, MaksAbsSkaler

Det finnes tre populære metoder for å skalere data:

  • MinMaxScaler: skalerer egenskaper til et [0, 1]-intervall;
  • MaxAbsScaler: skalerer egenskaper slik at den maksimale absolutte verdien er 1 (slik at dataene garantert er i et [-1, 1]-intervall);
  • StandardScaler: standardiserer egenskaper slik at gjennomsnittet blir 0 og variansen blir 1.

For å illustrere hvordan skalering fungerer, kan vi se på egenskapene 'culmen_depth_mm' og 'body_mass_g' fra penguins dataset. Disse egenskapene kan plottes for å observere deres skalaer.

MinMaxScaler

MinMaxScaler fungerer ved å trekke fra minimumsverdien (slik at verdiene starter fra null) og deretter dele på (x_max - x_min) for å gjøre verdien mindre enn eller lik 1.

Her er en gif som viser hvordan MinMaxScaler fungerer:

MaxAbsScaler

MaxAbsScaler fungerer ved å finne den største absolutte verdien og dele hver verdi på denne. Dette sikrer at den største absolutte verdien blir 1.

StandardScaler

Ideen bak StandardScaler kommer fra statistikk. Den fungerer ved å trekke fra gjennomsnittet (for å sentrere rundt null) og dele på standardavviket (for å gjøre variansen lik 1).

Note
Merk

Hvis du ikke forstår hva gjennomsnitt, standardavvik og varians er, kan du se vårt Learning Statistics with Python-kurs. Denne kunnskapen er imidlertid ikke obligatorisk for å gå videre.

Her er et kodeeksempel med MinMaxScaler. Andre skalere brukes på samme måte.

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

Resultatet er ikke det peneste siden skaleringsmetodene omformer dataene til et numpy-array, men med pipelines vil dette ikke være et problem.

Note
Merk

Du bør kun skalere funksjonskolonnene (variabelen X). Det er ikke nødvendig å skalere målvariabelen, da dette vil gjøre den inverse transformasjonen mer komplisert.

Hvilken skaleringsmetode bør brukes?

En StandardScaler er mer følsom for uteliggere, noe som gjør den mindre egnet som standard skaleringsmetode. Hvis du ønsker et alternativ til StandardScaler, avhenger valget mellom MinMaxScaler og MaxAbsScaler av personlig preferanse, enten du vil skalere data til [0,1]-intervallet med MinMaxScaler eller til [-1,1] med MaxAbsScaler.

1. Hva er hovedformålet med å bruke MinMaxScaler i dataprosessering?

2. Hvorfor kan det være aktuelt å revurdere bruk av StandardScaler for datasettet ditt?

question mark

Hva er hovedformålet med å bruke MinMaxScaler i dataprosessering?

Select the correct answer

question mark

Hvorfor kan det være aktuelt å revurdere bruk av StandardScaler for datasettet ditt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 10

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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

bookStandardskaler, MinmaksSkaler, MaksAbsSkaler

Sveip for å vise menyen

Det finnes tre populære metoder for å skalere data:

  • MinMaxScaler: skalerer egenskaper til et [0, 1]-intervall;
  • MaxAbsScaler: skalerer egenskaper slik at den maksimale absolutte verdien er 1 (slik at dataene garantert er i et [-1, 1]-intervall);
  • StandardScaler: standardiserer egenskaper slik at gjennomsnittet blir 0 og variansen blir 1.

For å illustrere hvordan skalering fungerer, kan vi se på egenskapene 'culmen_depth_mm' og 'body_mass_g' fra penguins dataset. Disse egenskapene kan plottes for å observere deres skalaer.

MinMaxScaler

MinMaxScaler fungerer ved å trekke fra minimumsverdien (slik at verdiene starter fra null) og deretter dele på (x_max - x_min) for å gjøre verdien mindre enn eller lik 1.

Her er en gif som viser hvordan MinMaxScaler fungerer:

MaxAbsScaler

MaxAbsScaler fungerer ved å finne den største absolutte verdien og dele hver verdi på denne. Dette sikrer at den største absolutte verdien blir 1.

StandardScaler

Ideen bak StandardScaler kommer fra statistikk. Den fungerer ved å trekke fra gjennomsnittet (for å sentrere rundt null) og dele på standardavviket (for å gjøre variansen lik 1).

Note
Merk

Hvis du ikke forstår hva gjennomsnitt, standardavvik og varians er, kan du se vårt Learning Statistics with Python-kurs. Denne kunnskapen er imidlertid ikke obligatorisk for å gå videre.

Her er et kodeeksempel med MinMaxScaler. Andre skalere brukes på samme måte.

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

Resultatet er ikke det peneste siden skaleringsmetodene omformer dataene til et numpy-array, men med pipelines vil dette ikke være et problem.

Note
Merk

Du bør kun skalere funksjonskolonnene (variabelen X). Det er ikke nødvendig å skalere målvariabelen, da dette vil gjøre den inverse transformasjonen mer komplisert.

Hvilken skaleringsmetode bør brukes?

En StandardScaler er mer følsom for uteliggere, noe som gjør den mindre egnet som standard skaleringsmetode. Hvis du ønsker et alternativ til StandardScaler, avhenger valget mellom MinMaxScaler og MaxAbsScaler av personlig preferanse, enten du vil skalere data til [0,1]-intervallet med MinMaxScaler eller til [-1,1] med MaxAbsScaler.

1. Hva er hovedformålet med å bruke MinMaxScaler i dataprosessering?

2. Hvorfor kan det være aktuelt å revurdere bruk av StandardScaler for datasettet ditt?

question mark

Hva er hovedformålet med å bruke MinMaxScaler i dataprosessering?

Select the correct answer

question mark

Hvorfor kan det være aktuelt å revurdere bruk av StandardScaler for datasettet ditt?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 10
some-alt