StandardScaler, MinMaxScaler, MaxAbsScaler
Det finns tre populära metoder för att skala data:
MinMaxScaler: skalar egenskaper till intervallet [0, 1];MaxAbsScaler: skalar egenskaper så att det maximala absoluta värdet är 1 (vilket garanterar att data ligger inom intervallet [-1, 1]);StandardScaler: standardiserar egenskaper 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 (för att göra värdena starta från noll) och sedan dividera med (x_max - x_min) för att göra det 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) ska 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å personliga preferenser, 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 egenskaper till intervallet [0, 1];MaxAbsScaler: skalar egenskaper så att det maximala absoluta värdet är 1 (vilket garanterar att data ligger inom intervallet [-1, 1]);StandardScaler: standardiserar egenskaper 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 (för att göra värdena starta från noll) och sedan dividera med (x_max - x_min) för att göra det 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) ska 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å personliga preferenser, 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!