Transformation et Extraction de Caractéristiques
De nombreux jeux de données réels contiennent des variables présentant des distributions asymétriques, ce qui peut réduire l'efficacité des modèles d'apprentissage automatique. Il est possible d'appliquer des transformations mathématiques pour réduire l'asymétrie et améliorer la qualité des données. Deux méthodes courantes sont :
- Transformation logarithmique : réduit une forte asymétrie positive en appliquant
log(x); - Transformation racine carrée : modère des degrés d'asymétrie plus faibles en utilisant
sqrt(x).
Ces méthodes permettent de rendre les distributions des variables plus proches d'une distribution normale et d'améliorer les performances des modèles.
123456789101112131415161718192021222324252627282930import 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()
L'extraction de caractéristiques est le processus de création de nouvelles variables à partir des données brutes afin d'améliorer les performances des modèles d'apprentissage automatique.
Elle permet de rendre l'information importante plus explicite, de réduire le bruit et parfois de diminuer la dimensionnalité des données. Une extraction de caractéristiques efficace peut conduire à de meilleures prédictions et à des modèles plus interprétables.
1234567891011import 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())
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 8.33
Transformation et Extraction de Caractéristiques
Glissez pour afficher le menu
De nombreux jeux de données réels contiennent des variables présentant des distributions asymétriques, ce qui peut réduire l'efficacité des modèles d'apprentissage automatique. Il est possible d'appliquer des transformations mathématiques pour réduire l'asymétrie et améliorer la qualité des données. Deux méthodes courantes sont :
- Transformation logarithmique : réduit une forte asymétrie positive en appliquant
log(x); - Transformation racine carrée : modère des degrés d'asymétrie plus faibles en utilisant
sqrt(x).
Ces méthodes permettent de rendre les distributions des variables plus proches d'une distribution normale et d'améliorer les performances des modèles.
123456789101112131415161718192021222324252627282930import 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()
L'extraction de caractéristiques est le processus de création de nouvelles variables à partir des données brutes afin d'améliorer les performances des modèles d'apprentissage automatique.
Elle permet de rendre l'information importante plus explicite, de réduire le bruit et parfois de diminuer la dimensionnalité des données. Une extraction de caractéristiques efficace peut conduire à de meilleures prédictions et à des modèles plus interprétables.
1234567891011import 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())
Merci pour vos commentaires !