StandardScaler, MinMaxScaler, MaxAbsScaler
Det finns tre populära metoder för att skala data:
MinMaxScaler
: skalar funktioner till intervallet [0, 1];MaxAbsScaler
: skalar funktioner så att det maximala absoluta värdet är 1 (därmed garanteras att data ligger inom intervallet [-1, 1]);StandardScaler
: standardiserar funktioner så att medelvärdet blir 0 och variansen blir 1.
För att illustrera hur skalare fungerar, betrakta egenskaperna 'culmen_depth_mm'
och 'body_mass_g'
från penguins dataset. Dessa egenskaper kan plottas för att observera deras skalor.
MinMaxScaler
MinMaxScaler
fungerar genom att subtrahera minimivärdet (så att värdena börjar från noll) och sedan dividera med (x_max - x_min) för att göra värdet mindre än eller lika med 1.
Här är en gif som visar hur MinMaxScaler
fungerar:
MaxAbsScaler
MaxAbsScaler
fungerar genom att hitta det största absoluta värdet och dividera varje värde med detta. Detta säkerställer att det största absoluta värdet är 1.
StandardScaler
Idén med StandardScaler
kommer från statistiken. Den fungerar genom att subtrahera medelvärdet (för att centrera kring noll) och dividera med standardavvikelsen (för att göra variansen lika med 1).
Om du inte förstår vad medelvärde, standardavvikelse och varians är, kan du titta på vår Learning Statistics with Python-kurs. Denna kunskap är dock inte obligatorisk för att gå vidare.
Här är ett kodexempel med MinMaxScaler
. Andra skalare används på samma sätt.
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)
Utdata är inte det snyggaste eftersom skalare omvandlar data till en numpy
-array, men med pipelines blir det inget problem.
Endast feature-kolumnerna (variabeln X
) bör skalas. Det finns inget behov av att skala målvariabeln, eftersom det skulle försvåra den omvända transformationsprocessen.
Vilken skalare ska användas?
En StandardScaler
är mer känslig för avvikare, vilket gör den mindre lämplig som standardskalare. Om du föredrar ett alternativ till StandardScaler
beror valet mellan MinMaxScaler
och MaxAbsScaler
på personlig preferens, om du vill skala data till intervallet [0,1] med MinMaxScaler
eller till [-1,1] med MaxAbsScaler
.
1. Vad är det primära syftet med att använda MinMaxScaler
vid datapreprocessering?
2. Varför kan du behöva ompröva användningen av StandardScaler
för din datamängd?
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
StandardScaler, MinMaxScaler, MaxAbsScaler
Svep för att visa menyn
Det finns tre populära metoder för att skala data:
MinMaxScaler
: skalar funktioner till intervallet [0, 1];MaxAbsScaler
: skalar funktioner så att det maximala absoluta värdet är 1 (därmed garanteras att data ligger inom intervallet [-1, 1]);StandardScaler
: standardiserar funktioner så att medelvärdet blir 0 och variansen blir 1.
För att illustrera hur skalare fungerar, betrakta egenskaperna 'culmen_depth_mm'
och 'body_mass_g'
från penguins dataset. Dessa egenskaper kan plottas för att observera deras skalor.
MinMaxScaler
MinMaxScaler
fungerar genom att subtrahera minimivärdet (så att värdena börjar från noll) och sedan dividera med (x_max - x_min) för att göra värdet mindre än eller lika med 1.
Här är en gif som visar hur MinMaxScaler
fungerar:
MaxAbsScaler
MaxAbsScaler
fungerar genom att hitta det största absoluta värdet och dividera varje värde med detta. Detta säkerställer att det största absoluta värdet är 1.
StandardScaler
Idén med StandardScaler
kommer från statistiken. Den fungerar genom att subtrahera medelvärdet (för att centrera kring noll) och dividera med standardavvikelsen (för att göra variansen lika med 1).
Om du inte förstår vad medelvärde, standardavvikelse och varians är, kan du titta på vår Learning Statistics with Python-kurs. Denna kunskap är dock inte obligatorisk för att gå vidare.
Här är ett kodexempel med MinMaxScaler
. Andra skalare används på samma sätt.
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)
Utdata är inte det snyggaste eftersom skalare omvandlar data till en numpy
-array, men med pipelines blir det inget problem.
Endast feature-kolumnerna (variabeln X
) bör skalas. Det finns inget behov av att skala målvariabeln, eftersom det skulle försvåra den omvända transformationsprocessen.
Vilken skalare ska användas?
En StandardScaler
är mer känslig för avvikare, vilket gör den mindre lämplig som standardskalare. Om du föredrar ett alternativ till StandardScaler
beror valet mellan MinMaxScaler
och MaxAbsScaler
på personlig preferens, om du vill skala data till intervallet [0,1] med MinMaxScaler
eller till [-1,1] med MaxAbsScaler
.
1. Vad är det primära syftet med att använda MinMaxScaler
vid datapreprocessering?
2. Varför kan du behöva ompröva användningen av StandardScaler
för din datamängd?
Tack för dina kommentarer!