Standardscaler, 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 rispettive 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 ottenere valori minori o uguali a 1.
Ecco la gif che mostra come funziona MinMaxScaler:
MaxAbsScaler
Il MaxAbsScaler funziona trovando il valore assoluto massimo e dividendo ciascun valore per esso. Questo garantisce che il valore assoluto massimo sia 1.
StandardScaler
L'idea di StandardScaler deriva dalla statistica. Funziona sottraendo la media (per centrare intorno a zero) e dividendo per la deviazione standard (per rendere la varianza uguale a 1).
Se non conosci il significato di media, deviazione standard e varianza, puoi consultare il nostro corso Learning Statistics with Python. Tuttavia, queste conoscenze non sono obbligatorie per proseguire.
Ecco un esempio di codice con MinMaxScaler. Gli altri scaler vengono applicati nello stesso modo.
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)
L'output non è dei più gradevoli poiché gli scaler trasformano i dati in un array numpy, ma con le pipeline questo non sarà un problema.
È 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, rendendolo 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?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 3.13
Standardscaler, 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 rispettive 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 ottenere valori minori o uguali a 1.
Ecco la gif che mostra come funziona MinMaxScaler:
MaxAbsScaler
Il MaxAbsScaler funziona trovando il valore assoluto massimo e dividendo ciascun valore per esso. Questo garantisce che il valore assoluto massimo sia 1.
StandardScaler
L'idea di StandardScaler deriva dalla statistica. Funziona sottraendo la media (per centrare intorno a zero) e dividendo per la deviazione standard (per rendere la varianza uguale a 1).
Se non conosci il significato di media, deviazione standard e varianza, puoi consultare il nostro corso Learning Statistics with Python. Tuttavia, queste conoscenze non sono obbligatorie per proseguire.
Ecco un esempio di codice con MinMaxScaler. Gli altri scaler vengono applicati nello stesso modo.
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)
L'output non è dei più gradevoli poiché gli scaler trasformano i dati in un array numpy, ma con le pipeline questo non sarà un problema.
È 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, rendendolo 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?
Grazie per i tuoi commenti!