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
Introduksjon til maskinlæring med Python

Standardskaler, 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 man se på egenskapene 'culmen_depth_mm' og 'body_mass_g' fra penguins dataset. Disse egenskapene kan plottes for å observere deres skalaer.

ingen skalering

MinMaxScaler

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

MinMax
MinMaxScaler

Her er en gif som viser hvordan MinMaxScaler fungerer:

MinMaxSkalering

MaxAbsScaler

MaxAbsScaler fungerer ved å finne maksimal absoluttverdi og dele hver verdi på denne. Dette sikrer at den maksimale absoluttverdien er 1.

MaxAbs
MaxAbsSkalering
MaxAbsSkalering

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 sjekke vårt Learning Statistics with Python-kurs. Denne kunnskapen er likevel ikke nødvendig for å gå videre.

StandardScaler-formel
StandardScaler
StandardScaling

Her er et kodeeksempel med MinMaxScaler. Andre scalere 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)

Resultatet er ikke det peneste siden skaleringene omgjør dataene til en numpy-array, men med pipelines vil dette ikke være et problem.

Note
Merk

Kun skalering av funksjonskolonnene (variabelen X). Det er ikke nødvendig å skalere målvariabelen, da dette vil komplisere prosessen med omvendt transformasjon.

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]-området med MinMaxScaler eller til [-1,1] med MaxAbsScaler.

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

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

question mark

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

Velg det helt riktige svaret

question mark

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

Velg det helt riktige svaret

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

Seksjon 2. Kapittel 10
some-alt