Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Standardscaler, Minmaxscaler, Maxabsscaler | Gegevens Preprocessen Met Scikit-learn
Quizzes & Challenges
Quizzes
Challenges
/
Introductie tot Machine Learning met Python

bookStandardscaler, Minmaxscaler, Maxabsscaler

Er zijn drie populaire benaderingen voor het schalen van data:

  • MinMaxScaler: schaalt kenmerken naar een bereik van [0, 1];
  • MaxAbsScaler: schaalt kenmerken zodat de maximale absolute waarde 1 is (waardoor de data gegarandeerd binnen het bereik [-1, 1] valt);
  • StandardScaler: standaardiseert kenmerken zodat het gemiddelde gelijk is aan 0 en de variantie gelijk is aan 1.

Ter illustratie van de werking van scalers worden de kenmerken 'culmen_depth_mm' en 'body_mass_g' uit de penguins dataset gebruikt. Deze kenmerken kunnen worden gevisualiseerd om hun schalen te observeren.

MinMaxScaler

De MinMaxScaler werkt door de minimumwaarde af te trekken (zodat de waarden vanaf nul beginnen) en vervolgens te delen door (x_max - x_min) zodat de waarde kleiner dan of gelijk aan 1 is.

Hier is de gif die laat zien hoe MinMaxScaler werkt:

MaxAbsScaler

De MaxAbsScaler werkt door de maximale absolute waarde te vinden en elke waarde hierdoor te delen. Dit zorgt ervoor dat de maximale absolute waarde gelijk is aan 1.

StandardScaler

Het idee van StandardScaler komt uit de statistiek. Het werkt door het gemiddelde af te trekken (om te centreren rond nul) en te delen door de standaarddeviatie (om de variantie gelijk aan 1 te maken).

Note
Opmerking

Als u niet begrijpt wat het gemiddelde, de standaarddeviatie en de variantie zijn, kunt u onze Learning Statistics with Python cursus raadplegen. Deze kennis is echter niet verplicht om verder te gaan.

Hier is een codevoorbeeld met MinMaxScaler. Andere scalers worden op dezelfde manier toegepast.

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)
copy

De uitvoer is niet de mooiste, aangezien scalers de data omzetten naar een numpy array, maar met pipelines vormt dit geen probleem.

Note
Opmerking

Alleen de feature-kolommen (de X-variabele) dienen geschaald te worden. Het is niet nodig om de targetvariabele te schalen, omdat dit het inverse transformatieproces zou bemoeilijken.

Welke scaler te gebruiken?

Een StandardScaler is meer gevoelig voor uitschieters, waardoor deze minder geschikt is als standaard scaler. Indien een alternatief voor StandardScaler gewenst is, hangt de keuze tussen MinMaxScaler en MaxAbsScaler af van persoonlijke voorkeur: het schalen van data naar het bereik [0,1] met MinMaxScaler of naar [-1,1] met MaxAbsScaler.

1. Wat is het primaire doel van het gebruik van MinMaxScaler bij gegevensvoorbewerking?

2. Waarom zou je het gebruik van StandardScaler voor je dataset kunnen heroverwegen?

question mark

Wat is het primaire doel van het gebruik van MinMaxScaler bij gegevensvoorbewerking?

Select the correct answer

question mark

Waarom zou je het gebruik van StandardScaler voor je dataset kunnen heroverwegen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 10

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 3.13

bookStandardscaler, Minmaxscaler, Maxabsscaler

Veeg om het menu te tonen

Er zijn drie populaire benaderingen voor het schalen van data:

  • MinMaxScaler: schaalt kenmerken naar een bereik van [0, 1];
  • MaxAbsScaler: schaalt kenmerken zodat de maximale absolute waarde 1 is (waardoor de data gegarandeerd binnen het bereik [-1, 1] valt);
  • StandardScaler: standaardiseert kenmerken zodat het gemiddelde gelijk is aan 0 en de variantie gelijk is aan 1.

Ter illustratie van de werking van scalers worden de kenmerken 'culmen_depth_mm' en 'body_mass_g' uit de penguins dataset gebruikt. Deze kenmerken kunnen worden gevisualiseerd om hun schalen te observeren.

MinMaxScaler

De MinMaxScaler werkt door de minimumwaarde af te trekken (zodat de waarden vanaf nul beginnen) en vervolgens te delen door (x_max - x_min) zodat de waarde kleiner dan of gelijk aan 1 is.

Hier is de gif die laat zien hoe MinMaxScaler werkt:

MaxAbsScaler

De MaxAbsScaler werkt door de maximale absolute waarde te vinden en elke waarde hierdoor te delen. Dit zorgt ervoor dat de maximale absolute waarde gelijk is aan 1.

StandardScaler

Het idee van StandardScaler komt uit de statistiek. Het werkt door het gemiddelde af te trekken (om te centreren rond nul) en te delen door de standaarddeviatie (om de variantie gelijk aan 1 te maken).

Note
Opmerking

Als u niet begrijpt wat het gemiddelde, de standaarddeviatie en de variantie zijn, kunt u onze Learning Statistics with Python cursus raadplegen. Deze kennis is echter niet verplicht om verder te gaan.

Hier is een codevoorbeeld met MinMaxScaler. Andere scalers worden op dezelfde manier toegepast.

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)
copy

De uitvoer is niet de mooiste, aangezien scalers de data omzetten naar een numpy array, maar met pipelines vormt dit geen probleem.

Note
Opmerking

Alleen de feature-kolommen (de X-variabele) dienen geschaald te worden. Het is niet nodig om de targetvariabele te schalen, omdat dit het inverse transformatieproces zou bemoeilijken.

Welke scaler te gebruiken?

Een StandardScaler is meer gevoelig voor uitschieters, waardoor deze minder geschikt is als standaard scaler. Indien een alternatief voor StandardScaler gewenst is, hangt de keuze tussen MinMaxScaler en MaxAbsScaler af van persoonlijke voorkeur: het schalen van data naar het bereik [0,1] met MinMaxScaler of naar [-1,1] met MaxAbsScaler.

1. Wat is het primaire doel van het gebruik van MinMaxScaler bij gegevensvoorbewerking?

2. Waarom zou je het gebruik van StandardScaler voor je dataset kunnen heroverwegen?

question mark

Wat is het primaire doel van het gebruik van MinMaxScaler bij gegevensvoorbewerking?

Select the correct answer

question mark

Waarom zou je het gebruik van StandardScaler voor je dataset kunnen heroverwegen?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 10
some-alt