Escalado y Normalización
Las características numéricas en tus datos a menudo tienen escalas muy diferentes, lo que puede afectar negativamente el rendimiento de los algoritmos de aprendizaje automático, especialmente aquellos que utilizan cálculos de distancia o asumen distribuciones normales. El escalado garantiza que todas las características contribuyan por igual al entrenamiento del modelo.
Las dos principales técnicas de escalado son:
- Normalización: reescala las características a un rango fijo, generalmente entre
0y1; - Estandarización: transforma las características para que tengan una media de
0y una desviación estándar de1.
Cada método modifica el rango de tus datos de manera diferente y es más adecuado para escenarios específicos.
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 estandarización es más adecuada cuando tus datos siguen una distribución gaussiana (normal), o cuando los algoritmos esperan datos centrados, como linear regression, logistic regression o k-means clustering.
La normalización se prefiere cuando se desea que todas las características tengan la misma escala, especialmente para algoritmos que utilizan métricas de distancia, como k-nearest neighbors o neural networks.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 8.33
Escalado y Normalización
Desliza para mostrar el menú
Las características numéricas en tus datos a menudo tienen escalas muy diferentes, lo que puede afectar negativamente el rendimiento de los algoritmos de aprendizaje automático, especialmente aquellos que utilizan cálculos de distancia o asumen distribuciones normales. El escalado garantiza que todas las características contribuyan por igual al entrenamiento del modelo.
Las dos principales técnicas de escalado son:
- Normalización: reescala las características a un rango fijo, generalmente entre
0y1; - Estandarización: transforma las características para que tengan una media de
0y una desviación estándar de1.
Cada método modifica el rango de tus datos de manera diferente y es más adecuado para escenarios específicos.
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 estandarización es más adecuada cuando tus datos siguen una distribución gaussiana (normal), o cuando los algoritmos esperan datos centrados, como linear regression, logistic regression o k-means clustering.
La normalización se prefiere cuando se desea que todas las características tengan la misma escala, especialmente para algoritmos que utilizan métricas de distancia, como k-nearest neighbors o neural networks.
¡Gracias por tus comentarios!