Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Standardscaler, Minmaxscaler, Maxabsscaler | Preprocessing Dei Dati con Scikit-learn
Introduzione al ML con Scikit-Learn

bookStandardscaler, Minmaxscaler, Maxabsscaler

Esistono tre approcci diffusi per la normalizzazione dei dati:

  • MinMaxScaler: normalizza le caratteristiche in un intervallo [0, 1];
  • MaxAbsScaler: normalizza le caratteristiche in modo che il valore assoluto massimo sia 1 (quindi i dati sono garantiti nell'intervallo [-1, 1]);
  • StandardScaler: standardizza le caratteristiche rendendo la media uguale a 0 e la varianza uguale a 1.

Per illustrare il funzionamento degli scaler, si considerino le caratteristiche 'culmen_depth_mm' e 'body_mass_g' dal penguins dataset. Queste caratteristiche possono essere rappresentate graficamente per osservare le loro scale.

MinMaxScaler

Il MinMaxScaler funziona sottraendo il valore minimo (per far partire i valori da zero) e poi dividendo per (x_max - x_min) per rendere il risultato minore o uguale a 1.

Ecco la gif che mostra come funziona il MinMaxScaler:

MaxAbsScaler

Il MaxAbsScaler funziona trovando il valore assoluto massimo e dividendo ciascun valore per esso. In questo modo il valore assoluto massimo diventa 1.

StandardScaler

L'idea di StandardScaler deriva dalla statistica. Funziona sottraendo la media (per centrare intorno allo zero) e dividendo per la deviazione standard (per rendere la varianza uguale a 1).

Note
Nota

Se non hai familiarità con media, deviazione standard e varianza, puoi consultare il nostro corso Learning Statistics with Python. Tuttavia, questa conoscenza non è obbligatoria per proseguire.

Esempio di codice con MinMaxScaler. Gli altri scaler vengono applicati nello stesso modo.

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

L'output non è dei più gradevoli poiché gli scaler trasformano i dati in un array numpy, ma con le pipeline questo non rappresenta un problema.

Note
Nota

È necessario scalare solo le colonne delle feature (la variabile X). Non è necessario scalare la variabile target, poiché ciò complicherebbe il processo di trasformazione inversa.

Quale Scaler Utilizzare?

Uno StandardScaler è più sensibile ai valori anomali, risultando quindi meno adatto come scaler predefinito. Se si preferisce un'alternativa a StandardScaler, la scelta tra MinMaxScaler e MaxAbsScaler dipende dalle preferenze personali, ovvero se si desidera scalare i dati nell'intervallo [0,1] con MinMaxScaler oppure in [-1,1] con MaxAbsScaler.

1. Qual è lo scopo principale dell'utilizzo di MinMaxScaler nella pre-elaborazione dei dati?

2. Perché potresti rivalutare l'utilizzo di StandardScaler per il tuo dataset?

question mark

Qual è lo scopo principale dell'utilizzo di MinMaxScaler nella pre-elaborazione dei dati?

Select the correct answer

question mark

Perché potresti rivalutare l'utilizzo di StandardScaler per il tuo dataset?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 10

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 3.13

bookStandardscaler, Minmaxscaler, Maxabsscaler

Scorri per mostrare il menu

Esistono tre approcci diffusi per la normalizzazione dei dati:

  • MinMaxScaler: normalizza le caratteristiche in un intervallo [0, 1];
  • MaxAbsScaler: normalizza le caratteristiche in modo che il valore assoluto massimo sia 1 (quindi i dati sono garantiti nell'intervallo [-1, 1]);
  • StandardScaler: standardizza le caratteristiche rendendo la media uguale a 0 e la varianza uguale a 1.

Per illustrare il funzionamento degli scaler, si considerino le caratteristiche 'culmen_depth_mm' e 'body_mass_g' dal penguins dataset. Queste caratteristiche possono essere rappresentate graficamente per osservare le loro scale.

MinMaxScaler

Il MinMaxScaler funziona sottraendo il valore minimo (per far partire i valori da zero) e poi dividendo per (x_max - x_min) per rendere il risultato minore o uguale a 1.

Ecco la gif che mostra come funziona il MinMaxScaler:

MaxAbsScaler

Il MaxAbsScaler funziona trovando il valore assoluto massimo e dividendo ciascun valore per esso. In questo modo il valore assoluto massimo diventa 1.

StandardScaler

L'idea di StandardScaler deriva dalla statistica. Funziona sottraendo la media (per centrare intorno allo zero) e dividendo per la deviazione standard (per rendere la varianza uguale a 1).

Note
Nota

Se non hai familiarità con media, deviazione standard e varianza, puoi consultare il nostro corso Learning Statistics with Python. Tuttavia, questa conoscenza non è obbligatoria per proseguire.

Esempio di codice con MinMaxScaler. Gli altri scaler vengono applicati nello stesso modo.

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

L'output non è dei più gradevoli poiché gli scaler trasformano i dati in un array numpy, ma con le pipeline questo non rappresenta un problema.

Note
Nota

È necessario scalare solo le colonne delle feature (la variabile X). Non è necessario scalare la variabile target, poiché ciò complicherebbe il processo di trasformazione inversa.

Quale Scaler Utilizzare?

Uno StandardScaler è più sensibile ai valori anomali, risultando quindi meno adatto come scaler predefinito. Se si preferisce un'alternativa a StandardScaler, la scelta tra MinMaxScaler e MaxAbsScaler dipende dalle preferenze personali, ovvero se si desidera scalare i dati nell'intervallo [0,1] con MinMaxScaler oppure in [-1,1] con MaxAbsScaler.

1. Qual è lo scopo principale dell'utilizzo di MinMaxScaler nella pre-elaborazione dei dati?

2. Perché potresti rivalutare l'utilizzo di StandardScaler per il tuo dataset?

question mark

Qual è lo scopo principale dell'utilizzo di MinMaxScaler nella pre-elaborazione dei dati?

Select the correct answer

question mark

Perché potresti rivalutare l'utilizzo di StandardScaler per il tuo dataset?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 10
some-alt