Scalatura e Normalizzazione
Le caratteristiche numeriche nei dati spesso presentano scale molto diverse, il che può compromettere le prestazioni degli algoritmi di apprendimento automatico—soprattutto quelli che utilizzano calcoli di distanza o assumono distribuzioni normali. La scalatura garantisce che tutte le caratteristiche contribuiscano in modo equo all'addestramento del modello.
Le due principali tecniche di scalatura sono:
- Normalizzazione: riscalare le caratteristiche in un intervallo fisso, solitamente tra
0e1; - Standardizzazione: trasformare le caratteristiche affinché abbiano una media di
0e una deviazione standard di1.
Ogni metodo modifica l'intervallo dei dati in modo diverso ed è più adatto a scenari specifici.
1234567891011121314151617181920212223242526272829import pandas as pd from sklearn.preprocessing import StandardScaler, MinMaxScaler # Load Titanic dataset from seaborn import seaborn as sns titanic = sns.load_dataset('titanic') # Select numerical features for scaling features = ['age', 'fare', 'sibsp', 'parch'] df = titanic[features].dropna() # Standardization scaler_standard = StandardScaler() df_standardized = pd.DataFrame( scaler_standard.fit_transform(df), columns=df.columns ) # Normalization scaler_minmax = MinMaxScaler() df_normalized = pd.DataFrame( scaler_minmax.fit_transform(df), columns=df.columns ) print("Standardized Data (first 5 rows):") print(df_standardized.head()) print("\nNormalized Data (first 5 rows):") print(df_normalized.head())
La standardizzazione è preferibile quando i dati seguono una distribuzione gaussiana (normale), o quando gli algoritmi richiedono dati centrati, come linear regression, logistic regression o k-means clustering.
La normalizzazione è consigliata quando si desidera che tutte le caratteristiche abbiano la stessa scala, soprattutto per algoritmi che utilizzano metriche di distanza, come k-nearest neighbors o neural networks.
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
Can you explain when to use normalization versus standardization?
What are the effects of scaling on different machine learning algorithms?
Can you show how to inverse transform the scaled data back to the original values?
Awesome!
Completion rate improved to 8.33
Scalatura e Normalizzazione
Scorri per mostrare il menu
Le caratteristiche numeriche nei dati spesso presentano scale molto diverse, il che può compromettere le prestazioni degli algoritmi di apprendimento automatico—soprattutto quelli che utilizzano calcoli di distanza o assumono distribuzioni normali. La scalatura garantisce che tutte le caratteristiche contribuiscano in modo equo all'addestramento del modello.
Le due principali tecniche di scalatura sono:
- Normalizzazione: riscalare le caratteristiche in un intervallo fisso, solitamente tra
0e1; - Standardizzazione: trasformare le caratteristiche affinché abbiano una media di
0e una deviazione standard di1.
Ogni metodo modifica l'intervallo dei dati in modo diverso ed è più adatto a scenari specifici.
1234567891011121314151617181920212223242526272829import pandas as pd from sklearn.preprocessing import StandardScaler, MinMaxScaler # Load Titanic dataset from seaborn import seaborn as sns titanic = sns.load_dataset('titanic') # Select numerical features for scaling features = ['age', 'fare', 'sibsp', 'parch'] df = titanic[features].dropna() # Standardization scaler_standard = StandardScaler() df_standardized = pd.DataFrame( scaler_standard.fit_transform(df), columns=df.columns ) # Normalization scaler_minmax = MinMaxScaler() df_normalized = pd.DataFrame( scaler_minmax.fit_transform(df), columns=df.columns ) print("Standardized Data (first 5 rows):") print(df_standardized.head()) print("\nNormalized Data (first 5 rows):") print(df_normalized.head())
La standardizzazione è preferibile quando i dati seguono una distribuzione gaussiana (normale), o quando gli algoritmi richiedono dati centrati, come linear regression, logistic regression o k-means clustering.
La normalizzazione è consigliata quando si desidera che tutte le caratteristiche abbiano la stessa scala, soprattutto per algoritmi che utilizzano metriche di distanza, come k-nearest neighbors o neural networks.
Grazie per i tuoi commenti!