Gestion des Valeurs Manquantes
Les données manquantes sont courantes dans les ensembles de données réels et peuvent affecter l'analyse ou les modèles. Les trois principaux types de données manquantes sont :
- Manquant Complètement à l'Aléatoire (MCAR) : l'absence de données n'est liée à aucune donnée ;
- Manquant à l'Aléatoire (MAR) : l'absence de données est liée uniquement aux données observées ;
- Manquant Non à l'Aléatoire (MNAR) : l'absence de données dépend des valeurs manquantes elles-mêmes.
Le choix de la bonne stratégie pour traiter les valeurs manquantes dépend du type de données manquantes. Un mauvais traitement peut entraîner des résultats biaisés, une analyse affaiblie et des prédictions peu fiables.
12345678import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
Imputation désigne le processus de remplacement des valeurs manquantes par des valeurs substituées, telles que la moyenne, la médiane ou la mode, etc. L'imputation permet de préserver la structure et la taille de l'ensemble de données pour une analyse ou une modélisation ultérieure.
Types de méthodes d'imputation
Différents types de données nécessitent des stratégies d'imputation spécifiques pour gérer efficacement les valeurs manquantes :
- Imputation par la moyenne : à utiliser pour les variables numériques ; remplace les valeurs manquantes par la moyenne des valeurs observées ;
- Imputation par la médiane : à utiliser pour les variables numériques, en particulier lorsque les données sont asymétriques ; remplace les valeurs manquantes par la médiane ;
- Imputation par le mode : à utiliser pour les variables catégorielles ; remplace les valeurs manquantes par la catégorie ou la valeur la plus fréquente ;
- Imputation par valeur constante : à utiliser pour les variables numériques et catégorielles ; remplit les valeurs manquantes avec une valeur fixe telle que
0,-1ou'unknown'; - Propagation vers l'avant (
ffill) : à utiliser pour les séries temporelles ou les données ordonnées ; propage la dernière observation valide vers l'avant pour combler les lacunes ; - Propagation vers l'arrière (
bfill) : à utiliser pour les séries temporelles ou les données ordonnées ; utilise la prochaine observation valide pour combler les lacunes vers l'arrière ; - Interpolation : à utiliser pour les variables numériques, en particulier dans les séries temporelles ; estime les valeurs manquantes à partir des points de données voisins en utilisant des méthodes linéaires ou mathématiques.
Sélectionner la méthode d'imputation la plus adaptée au type de données et au contexte de l'analyse.
123456789101112131415161718import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
Supprimer les valeurs manquantes est rapide et simple, mais cela peut entraîner une perte de données précieuses, en particulier lorsque les valeurs manquantes sont nombreuses. L'imputation permet de conserver davantage de données mais peut introduire un biais si elle n'est pas choisie avec soin. Prendre en compte la quantité et le schéma des valeurs manquantes, ainsi que l'importance de la variable, avant de décider de supprimer ou d'imputer.
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
Gestion des Valeurs Manquantes
Glissez pour afficher le menu
Les données manquantes sont courantes dans les ensembles de données réels et peuvent affecter l'analyse ou les modèles. Les trois principaux types de données manquantes sont :
- Manquant Complètement à l'Aléatoire (MCAR) : l'absence de données n'est liée à aucune donnée ;
- Manquant à l'Aléatoire (MAR) : l'absence de données est liée uniquement aux données observées ;
- Manquant Non à l'Aléatoire (MNAR) : l'absence de données dépend des valeurs manquantes elles-mêmes.
Le choix de la bonne stratégie pour traiter les valeurs manquantes dépend du type de données manquantes. Un mauvais traitement peut entraîner des résultats biaisés, une analyse affaiblie et des prédictions peu fiables.
12345678import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
Imputation désigne le processus de remplacement des valeurs manquantes par des valeurs substituées, telles que la moyenne, la médiane ou la mode, etc. L'imputation permet de préserver la structure et la taille de l'ensemble de données pour une analyse ou une modélisation ultérieure.
Types de méthodes d'imputation
Différents types de données nécessitent des stratégies d'imputation spécifiques pour gérer efficacement les valeurs manquantes :
- Imputation par la moyenne : à utiliser pour les variables numériques ; remplace les valeurs manquantes par la moyenne des valeurs observées ;
- Imputation par la médiane : à utiliser pour les variables numériques, en particulier lorsque les données sont asymétriques ; remplace les valeurs manquantes par la médiane ;
- Imputation par le mode : à utiliser pour les variables catégorielles ; remplace les valeurs manquantes par la catégorie ou la valeur la plus fréquente ;
- Imputation par valeur constante : à utiliser pour les variables numériques et catégorielles ; remplit les valeurs manquantes avec une valeur fixe telle que
0,-1ou'unknown'; - Propagation vers l'avant (
ffill) : à utiliser pour les séries temporelles ou les données ordonnées ; propage la dernière observation valide vers l'avant pour combler les lacunes ; - Propagation vers l'arrière (
bfill) : à utiliser pour les séries temporelles ou les données ordonnées ; utilise la prochaine observation valide pour combler les lacunes vers l'arrière ; - Interpolation : à utiliser pour les variables numériques, en particulier dans les séries temporelles ; estime les valeurs manquantes à partir des points de données voisins en utilisant des méthodes linéaires ou mathématiques.
Sélectionner la méthode d'imputation la plus adaptée au type de données et au contexte de l'analyse.
123456789101112131415161718import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
Supprimer les valeurs manquantes est rapide et simple, mais cela peut entraîner une perte de données précieuses, en particulier lorsque les valeurs manquantes sont nombreuses. L'imputation permet de conserver davantage de données mais peut introduire un biais si elle n'est pas choisie avec soin. Prendre en compte la quantité et le schéma des valeurs manquantes, ainsi que l'importance de la variable, avant de décider de supprimer ou d'imputer.
Merci pour vos commentaires !