Standardskaler, 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).
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.
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)
Resultatet er ikke det peneste siden skaleringsmetodene omformer dataene til et numpy
-array, men med pipelines vil dette ikke være et problem.
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?
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
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 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).
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.
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)
Resultatet er ikke det peneste siden skaleringsmetodene omformer dataene til et numpy
-array, men med pipelines vil dette ikke være et problem.
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?
Takk for tilbakemeldingene dine!