Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Transformation et Extraction de Caractéristiques | Techniques de Transformation des Données
Prétraitement des Données et Ingénierie des Variables

bookTransformation 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.

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
Définition

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.

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

Quelle transformation serait la plus appropriée pour une variable présentant une forte asymétrie positive et uniquement des valeurs positives ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

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

bookTransformation 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.

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
Définition

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.

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

Quelle transformation serait la plus appropriée pour une variable présentant une forte asymétrie positive et uniquement des valeurs positives ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
some-alt