Choix des Variables
Lorsque vous travaillez avec de nombreuses variables, il est souvent difficile de savoir lesquelles sont pertinentes. Il est possible d’entraîner un modèle avec toutes les variables, d’identifier celles qui sont inutiles, puis de réentraîner le modèle en utilisant uniquement les variables ayant un impact.
Pourquoi retirer des variables du modèle ?
Ajouter une variable non liée à la cible introduit du bruit et dégrade les prédictions. L’accumulation de nombreuses variables inutiles augmente le bruit et réduit davantage la qualité du modèle.
Comment savoir si les variables sont pertinentes ou non ?
OLS fournit des tests statistiques lors de l’entraînement. Chaque variable reçoit un résultat de test t, affiché dans le tableau summary(), indiquant si elle a un effet significatif sur la cible.
123456789import pandas as pd import statsmodels.api as sm 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) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train an OLS object print(regression_model.summary()) #Get the summary
Ce qui nous intéresse, ce sont les valeurs p pour chaque variable explicative.
En résumé, plus la valeur p est faible, plus la confiance dans l'impact de la variable est élevée.
En statistique, on fixe un niveau de signification, généralement à 0,05. Si la p-value d'une variable 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 préférable de tester le modèle avec et sans cette variable. Cependant, si la p-value est très élevée (>0,4), il est possible de la retirer sans risque.
La p-value varie de 0 à 1, donc une p-value faible signifie généralement inférieure à 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-valeurs pour la taille de la mère et la constante de 0,087 et 0,051. Si nous supprimons les variables avec une p-valeur > 0,05, nous obtiendrons le résultat ci-dessous (à gauche).
Même visuellement, on peut constater que le modèle avec la constante (à droite) est meilleur, il est donc préférable de ne pas la retirer du modèle.
Les petits ensembles 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 significatives du bruit.
Comment supprimer les mauvaises variables ?
Il suffit de supprimer la colonne correspondant à la variable de X_tilde. Cela peut être réalisé 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. Lesquelles des variables devez-vous CONSERVER ?
2. Choisissez l'affirmation INCORRECTE.
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
Can you explain what a p-value actually represents in this context?
How do I interpret the summary table from the OLS regression?
What should I do if both features have p-values just above 0.05?
Awesome!
Completion rate improved to 5.26
Choix des Variables
Glissez pour afficher le menu
Lorsque vous travaillez avec de nombreuses variables, il est souvent difficile de savoir lesquelles sont pertinentes. Il est possible d’entraîner un modèle avec toutes les variables, d’identifier celles qui sont inutiles, puis de réentraîner le modèle en utilisant uniquement les variables ayant un impact.
Pourquoi retirer des variables du modèle ?
Ajouter une variable non liée à la cible introduit du bruit et dégrade les prédictions. L’accumulation de nombreuses variables inutiles augmente le bruit et réduit davantage la qualité du modèle.
Comment savoir si les variables sont pertinentes ou non ?
OLS fournit des tests statistiques lors de l’entraînement. Chaque variable reçoit un résultat de test t, affiché dans le tableau summary(), indiquant si elle a un effet significatif sur la cible.
123456789import pandas as pd import statsmodels.api as sm 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) # Open the file X,y = df[['Father', 'Mother']], df['Height'] # Assign the variables X_tilde = sm.add_constant(X) # Create X_tilde regression_model = sm.OLS(y, X_tilde).fit() # Initialize and train an OLS object print(regression_model.summary()) #Get the summary
Ce qui nous intéresse, ce sont les valeurs p pour chaque variable explicative.
En résumé, plus la valeur p est faible, plus la confiance dans l'impact de la variable est élevée.
En statistique, on fixe un niveau de signification, généralement à 0,05. Si la p-value d'une variable 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 préférable de tester le modèle avec et sans cette variable. Cependant, si la p-value est très élevée (>0,4), il est possible de la retirer sans risque.
La p-value varie de 0 à 1, donc une p-value faible signifie généralement inférieure à 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-valeurs pour la taille de la mère et la constante de 0,087 et 0,051. Si nous supprimons les variables avec une p-valeur > 0,05, nous obtiendrons le résultat ci-dessous (à gauche).
Même visuellement, on peut constater que le modèle avec la constante (à droite) est meilleur, il est donc préférable de ne pas la retirer du modèle.
Les petits ensembles 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 significatives du bruit.
Comment supprimer les mauvaises variables ?
Il suffit de supprimer la colonne correspondant à la variable de X_tilde. Cela peut être réalisé 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. Lesquelles des variables devez-vous CONSERVER ?
2. Choisissez l'affirmation INCORRECTE.
Merci pour vos commentaires !