Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Transformación y Extracción de Características | Técnicas de Transformación de Datos
Preprocesamiento de Datos y Diseño de Características

bookTransformación y Extracción de Características

Muchos conjuntos de datos del mundo real contienen características con distribuciones sesgadas, lo que puede reducir la efectividad de los modelos de aprendizaje automático. Se pueden aplicar transformaciones matemáticas para reducir la asimetría y mejorar la calidad de los datos. Dos métodos comunes son:

  • Transformación logarítmica: reduce una fuerte asimetría positiva aplicando log(x);
  • Transformación de raíz cuadrada: modera grados menores de asimetría utilizando sqrt(x).

Estos métodos ayudan a que las distribuciones de las características sean más similares a una distribución normal y mejoran el rendimiento del modelo.

123456789101112131415161718192021222324252627282930
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # Load the Titanic dataset df = sns.load_dataset('titanic') fare = df['fare'] # Apply log transformation (add 1 to handle zeros) fare_log = np.log(fare + 1) # Create side-by-side histogram comparison fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # Original fare axes[0].hist(fare, bins=50, color='skyblue', edgecolor='black', alpha=0.7) axes[0].set_xlabel('Fare ($)', fontsize=12) axes[0].set_ylabel('Frequency', fontsize=12) axes[0].set_title('Original Fare Distribution', fontsize=14, fontweight='bold') axes[0].grid(True, alpha=0.3) # Log-transformed fare axes[1].hist(fare_log, bins=50, color='lightcoral', edgecolor='black', alpha=0.7) axes[1].set_xlabel('Log(Fare + 1)', fontsize=12) axes[1].set_ylabel('Frequency', fontsize=12) axes[1].set_title('Log-Transformed Fare Distribution', fontsize=14, fontweight='bold') axes[1].grid(True, alpha=0.3) plt.tight_layout()
copy
Note
Definición

Extracción de características es el proceso de crear nuevas características a partir de datos sin procesar para mejorar el rendimiento de los modelos de aprendizaje automático.

Ayuda haciendo que la información importante sea más explícita, reduciendo el ruido y, en ocasiones, disminuyendo la dimensionalidad de los datos. Una extracción de características eficaz puede conducir a mejores predicciones y modelos más interpretables.

1234567891011
import seaborn as sns import pandas as pd # Load the Titanic dataset df = sns.load_dataset('titanic') # Create a new feature: family_size = sibsp + parch + 1 df['family_size'] = df['sibsp'] + df['parch'] + 1 # Show the first few rows with the new feature print(df[['sibsp', 'parch', 'family_size']].head())
copy
question mark

¿Qué transformación sería la más adecuada para una variable con una fuerte asimetría positiva y solo valores positivos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 8.33

bookTransformación y Extracción de Características

Desliza para mostrar el menú

Muchos conjuntos de datos del mundo real contienen características con distribuciones sesgadas, lo que puede reducir la efectividad de los modelos de aprendizaje automático. Se pueden aplicar transformaciones matemáticas para reducir la asimetría y mejorar la calidad de los datos. Dos métodos comunes son:

  • Transformación logarítmica: reduce una fuerte asimetría positiva aplicando log(x);
  • Transformación de raíz cuadrada: modera grados menores de asimetría utilizando sqrt(x).

Estos métodos ayudan a que las distribuciones de las características sean más similares a una distribución normal y mejoran el rendimiento del modelo.

123456789101112131415161718192021222324252627282930
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns # Load the Titanic dataset df = sns.load_dataset('titanic') fare = df['fare'] # Apply log transformation (add 1 to handle zeros) fare_log = np.log(fare + 1) # Create side-by-side histogram comparison fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # Original fare axes[0].hist(fare, bins=50, color='skyblue', edgecolor='black', alpha=0.7) axes[0].set_xlabel('Fare ($)', fontsize=12) axes[0].set_ylabel('Frequency', fontsize=12) axes[0].set_title('Original Fare Distribution', fontsize=14, fontweight='bold') axes[0].grid(True, alpha=0.3) # Log-transformed fare axes[1].hist(fare_log, bins=50, color='lightcoral', edgecolor='black', alpha=0.7) axes[1].set_xlabel('Log(Fare + 1)', fontsize=12) axes[1].set_ylabel('Frequency', fontsize=12) axes[1].set_title('Log-Transformed Fare Distribution', fontsize=14, fontweight='bold') axes[1].grid(True, alpha=0.3) plt.tight_layout()
copy
Note
Definición

Extracción de características es el proceso de crear nuevas características a partir de datos sin procesar para mejorar el rendimiento de los modelos de aprendizaje automático.

Ayuda haciendo que la información importante sea más explícita, reduciendo el ruido y, en ocasiones, disminuyendo la dimensionalidad de los datos. Una extracción de características eficaz puede conducir a mejores predicciones y modelos más interpretables.

1234567891011
import seaborn as sns import pandas as pd # Load the Titanic dataset df = sns.load_dataset('titanic') # Create a new feature: family_size = sibsp + parch + 1 df['family_size'] = df['sibsp'] + df['parch'] + 1 # Show the first few rows with the new feature print(df[['sibsp', 'parch', 'family_size']].head())
copy
question mark

¿Qué transformación sería la más adecuada para una variable con una fuerte asimetría positiva y solo valores positivos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
some-alt