Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära StandardScaler, MinMaxScaler, MaxAbsScaler | Förbehandling av Data med Scikit-learn
Introduktion till maskininlärning med Python

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 kan man betrakta egenskaperna 'culmen_depth_mm' och 'body_mass_g' från penguins dataset. Dessa egenskaper kan plottas för att observera deras skalor.

ingen skalning

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.

MinMax
MinMaxScaler

Här är en gif som visar hur MinMaxScaler fungerar:

MinMaxScaling

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.

MaxAbs
MaxAbsScaler
MaxAbsScaling

StandardScaler

Idén bakom 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).

Note
Notering

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.

StandardScaler-formel
StandardScaler
StandardScaling

Här är ett kodexempel med MinMaxScaler. Andra skalare används på samma sätt.

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)

Utdata är inte särskilt snygg eftersom skalare omvandlar data till en numpy-array, men med pipelines blir det inget problem.

Note
Notera

Endast funktionskolumnerna (variabeln X) ska skalas. Det finns inget behov av att skala målvariabeln, eftersom det skulle försvåra den omvända transformationsprocessen.

Vilken scaler ska användas?

En StandardScaler är mer känslig för avvikare, vilket gör den mindre lämplig som standardscaler. 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?

question mark

Vad är det primära syftet med att använda MinMaxScaler vid datapreprocessering?

Vänligen välj det korrekta svaret

question mark

Varför kan du behöva ompröva användningen av StandardScaler för din datamängd?

Vänligen välj det korrekta svaret

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 10

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Avsnitt 2. Kapitel 10
some-alt