Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Choix des Variables | Section
Fondamentaux de l'apprentissage supervisé

bookChoix des Variables

Lorsque vous travaillez avec de nombreuses caractéristiques, il est souvent difficile de savoir lesquelles sont importantes. Il est possible d’entraîner un modèle avec toutes les caractéristiques, d’identifier celles qui sont inutiles, puis de réentraîner le modèle en utilisant uniquement les caractéristiques pertinentes.

Pourquoi supprimer des caractéristiques du modèle ?

Ajouter une caractéristique non liée à la cible introduit du bruit et dégrade les prédictions. L’accumulation de nombreuses caractéristiques inutiles augmente le bruit et réduit davantage la qualité du modèle.

Comment savoir si les caractéristiques sont pertinentes ou non ?

Pour évaluer si les caractéristiques ont un impact significatif sur la cible, il est possible de calculer les valeurs p pour chaque caractéristique. Une valeur p faible indique que la caractéristique est statistiquement significative.

1234567891011121314151617
import pandas as pd from sklearn.feature_selection import f_regression file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) X, y = df[['Father', 'Mother']], df['Height'] # f_regression returns F-statistic and p-values f_stat, p_values = f_regression(X, y) # Create a DataFrame to view results nicely results = pd.DataFrame({ 'Feature': X.columns, 'p_value': p_values }) print(results)
copy

En résumé, plus la p-valeur est faible, plus la confiance dans l'impact de la caractéristique est élevée. En général, une p-valeur inférieure à 0,05 est considérée comme statistiquement significative.

Dans l'exemple ci-dessus :

  • Father : (extrêmement faible, hautement significative)
  • Mother : (très faible, hautement significative)

Les deux caractéristiques sont de bons prédicteurs pour la cible.

En statistique, on fixe un niveau de signification, généralement à 0,05. Si la p-valeur d'une caractéristique dépasse ce seuil, elle est considérée comme non significative.

En pratique, des p-values légèrement supérieures à 0,05 peuvent tout de même améliorer le modèle. Il est plus sûr de tester le modèle avec et sans cette variable. Mais si la p-value est très élevée (>0,4), vous pouvez la supprimer en toute confiance.

Note
Remarque

La p-value varie de 0 à 1, donc lorsque nous parlons d'une faible p-value, cela signifie moins de 0,05 et une p-value élevée signifie généralement supérieure à 0,3-0,5.

Dans notre exemple, nous avons obtenu des p-values pour la taille de la mère et la constante de 0,087 et 0,051. Si nous supprimons les variables avec une p-value > 0,05, nous obtiendrons le résultat ci-dessous (à gauche).

Même visuellement, on peut constater que le modèle avec constante (à droite) est meilleur, il est donc préférable de ne pas la retirer du modèle.

Note
Remarque

Les petits jeux de données produisent souvent des p-valeurs plus élevées (0,05–0,2) même pour des variables pertinentes. Les p-valeurs reflètent la confiance : avec plus de données, il devient plus facile de distinguer les variables réellement influentes du bruit.

Comment supprimer les mauvaises variables ?

Il suffit de retirer la colonne correspondant à la variable de X_tilde. Cela peut être fait avec le code suivant :

X_tilde = X_tilde.drop(___, axis=1)

Par exemple, pour supprimer les colonnes 'const' et 'Mother', utilisez :

X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)

Ensuite, créez un nouvel objet OLS en utilisant le X_tilde mis à jour :

regression_model=sm.OLS(y, X_tilde)

1. Parmi les variables suivantes, lesquelles devez-vous CONSERVER ?

2. Choisissez l'affirmation INCORRECTE.

question mark

Parmi les variables suivantes, lesquelles devez-vous CONSERVER ?

Select all correct answers

question mark

Choisissez l'affirmation INCORRECTE.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 8

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

bookChoix des Variables

Glissez pour afficher le menu

Lorsque vous travaillez avec de nombreuses caractéristiques, il est souvent difficile de savoir lesquelles sont importantes. Il est possible d’entraîner un modèle avec toutes les caractéristiques, d’identifier celles qui sont inutiles, puis de réentraîner le modèle en utilisant uniquement les caractéristiques pertinentes.

Pourquoi supprimer des caractéristiques du modèle ?

Ajouter une caractéristique non liée à la cible introduit du bruit et dégrade les prédictions. L’accumulation de nombreuses caractéristiques inutiles augmente le bruit et réduit davantage la qualité du modèle.

Comment savoir si les caractéristiques sont pertinentes ou non ?

Pour évaluer si les caractéristiques ont un impact significatif sur la cible, il est possible de calculer les valeurs p pour chaque caractéristique. Une valeur p faible indique que la caractéristique est statistiquement significative.

1234567891011121314151617
import pandas as pd from sklearn.feature_selection import f_regression file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/heights_two_feature.csv' df = pd.read_csv(file_link) X, y = df[['Father', 'Mother']], df['Height'] # f_regression returns F-statistic and p-values f_stat, p_values = f_regression(X, y) # Create a DataFrame to view results nicely results = pd.DataFrame({ 'Feature': X.columns, 'p_value': p_values }) print(results)
copy

En résumé, plus la p-valeur est faible, plus la confiance dans l'impact de la caractéristique est élevée. En général, une p-valeur inférieure à 0,05 est considérée comme statistiquement significative.

Dans l'exemple ci-dessus :

  • Father : (extrêmement faible, hautement significative)
  • Mother : (très faible, hautement significative)

Les deux caractéristiques sont de bons prédicteurs pour la cible.

En statistique, on fixe un niveau de signification, généralement à 0,05. Si la p-valeur d'une caractéristique dépasse ce seuil, elle est considérée comme non significative.

En pratique, des p-values légèrement supérieures à 0,05 peuvent tout de même améliorer le modèle. Il est plus sûr de tester le modèle avec et sans cette variable. Mais si la p-value est très élevée (>0,4), vous pouvez la supprimer en toute confiance.

Note
Remarque

La p-value varie de 0 à 1, donc lorsque nous parlons d'une faible p-value, cela signifie moins de 0,05 et une p-value élevée signifie généralement supérieure à 0,3-0,5.

Dans notre exemple, nous avons obtenu des p-values pour la taille de la mère et la constante de 0,087 et 0,051. Si nous supprimons les variables avec une p-value > 0,05, nous obtiendrons le résultat ci-dessous (à gauche).

Même visuellement, on peut constater que le modèle avec constante (à droite) est meilleur, il est donc préférable de ne pas la retirer du modèle.

Note
Remarque

Les petits jeux de données produisent souvent des p-valeurs plus élevées (0,05–0,2) même pour des variables pertinentes. Les p-valeurs reflètent la confiance : avec plus de données, il devient plus facile de distinguer les variables réellement influentes du bruit.

Comment supprimer les mauvaises variables ?

Il suffit de retirer la colonne correspondant à la variable de X_tilde. Cela peut être fait avec le code suivant :

X_tilde = X_tilde.drop(___, axis=1)

Par exemple, pour supprimer les colonnes 'const' et 'Mother', utilisez :

X_tilde = X_tilde.drop(['Mother', 'const'], axis=1)

Ensuite, créez un nouvel objet OLS en utilisant le X_tilde mis à jour :

regression_model=sm.OLS(y, X_tilde)

1. Parmi les variables suivantes, lesquelles devez-vous CONSERVER ?

2. Choisissez l'affirmation INCORRECTE.

question mark

Parmi les variables suivantes, lesquelles devez-vous CONSERVER ?

Select all correct answers

question mark

Choisissez l'affirmation INCORRECTE.

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 8
some-alt