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.
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.
Her er en gif som viser hvordan MinMaxScaler fungerer:
MaxAbsScaler
MaxAbsScaler fungerer ved å finne maksimal absoluttverdi og dele hver verdi på denne. Dette sikrer at den maksimale absoluttverdien er 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 sjekke vårt Learning Statistics with Python-kurs. Denne kunnskapen er likevel ikke nødvendig for å gå videre.
Her er et kodeeksempel med MinMaxScaler. Andre scalere 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 skaleringene omgjør dataene til en numpy-array, men med pipelines vil dette ikke være et problem.
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?
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