Défi : Imputation des Valeurs Manquantes
La classe SimpleImputer est conçue pour gérer les données manquantes en remplaçant automatiquement les valeurs absentes.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Lors de l'initialisation, il est possible de la personnaliser en définissant ses paramètres :
missing_value: spécifie le marqueur utilisé pour les valeurs manquantes. Par défaut, il s'agit denp.nan;strategy: stratégie utilisée pour imputer les valeurs manquantes.'mean'est la valeur par défaut ;fill_value: spécifie la valeur à utiliser pour remplir les valeurs manquantes lorsque lastrategyest'constant'. Par défaut, il s'agit deNone.
En tant que transformateur, il dispose des méthodes suivantes :
Il est également nécessaire de décider quelles valeurs utiliser pour l'imputation.
Une approche courante consiste à remplacer les valeurs numériques manquantes par la moyenne et les valeurs catégorielles manquantes par la modalité (valeur la plus fréquente), car cela déforme minimalement la distribution des données.
Le choix est contrôlé par le paramètre strategy :
strategy='mean': imputation par la moyenne de chaque colonne ;strategy='median': imputation par la médiane de chaque colonne ;strategy='most_frequent': imputation par la modalité de chaque colonne ;strategy='constant': imputation par une valeur constante spécifiée dans le paramètrefill_value.
Le paramètre missing_values définit quelles valeurs sont considérées comme manquantes. Par défaut, il s'agit de NaN, mais dans certains jeux de données, cela peut être une chaîne vide '' ou un autre marqueur.
Le SimpleImputer et de nombreux autres transformateurs fonctionnent uniquement avec des DataFrames, et non avec des Series pandas. La sélection d'une seule colonne d'un DataFrame avec df['column'] retourne une Series. Pour éviter cela, il est possible d'utiliser une double paire de crochets df[['column']] afin de garantir le retour d'un DataFrame :
imputer.fit_transform(df[['column']])
Lorsque la méthode .fit_transform() de SimpleImputer est appliquée, elle retourne un tableau 2D. L'affectation de valeurs à une seule colonne dans un DataFrame pandas nécessite un tableau 1D (ou une Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
La méthode .ravel() peut être utilisée pour aplatir le tableau en 1D avant l'affectation :
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Cela garantit que les valeurs imputées sont correctement formatées et stockées dans la colonne du DataFrame.
Swipe to start coding
Imputer les valeurs manquantes dans la colonne 'sex' en utilisant SimpleImputer. Puisqu'il s'agit d'une colonne catégorielle, remplacer les valeurs NaN par la valeur la plus fréquente.
- Importer
SimpleImputer. - Créer un objet
SimpleImputeravec lastrategysouhaitée. - Imputer les valeurs manquantes de la colonne
'sex'à l'aide de l'objetimputer.
Solution
Excellent ! Le problème des valeurs manquantes dans notre jeu de données a été traité. Les lignes contenant plus d'une valeur nulle ont été supprimées et la colonne 'sex' a été imputée avec la valeur la plus fréquente – MALE.
Merci pour vos commentaires !
single
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 how to use SimpleImputer for categorical columns?
What are some best practices for choosing the right imputation strategy?
How do I handle missing values that are not NaN, like empty strings?
Awesome!
Completion rate improved to 3.13
Défi : Imputation des Valeurs Manquantes
Glissez pour afficher le menu
La classe SimpleImputer est conçue pour gérer les données manquantes en remplaçant automatiquement les valeurs absentes.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Lors de l'initialisation, il est possible de la personnaliser en définissant ses paramètres :
missing_value: spécifie le marqueur utilisé pour les valeurs manquantes. Par défaut, il s'agit denp.nan;strategy: stratégie utilisée pour imputer les valeurs manquantes.'mean'est la valeur par défaut ;fill_value: spécifie la valeur à utiliser pour remplir les valeurs manquantes lorsque lastrategyest'constant'. Par défaut, il s'agit deNone.
En tant que transformateur, il dispose des méthodes suivantes :
Il est également nécessaire de décider quelles valeurs utiliser pour l'imputation.
Une approche courante consiste à remplacer les valeurs numériques manquantes par la moyenne et les valeurs catégorielles manquantes par la modalité (valeur la plus fréquente), car cela déforme minimalement la distribution des données.
Le choix est contrôlé par le paramètre strategy :
strategy='mean': imputation par la moyenne de chaque colonne ;strategy='median': imputation par la médiane de chaque colonne ;strategy='most_frequent': imputation par la modalité de chaque colonne ;strategy='constant': imputation par une valeur constante spécifiée dans le paramètrefill_value.
Le paramètre missing_values définit quelles valeurs sont considérées comme manquantes. Par défaut, il s'agit de NaN, mais dans certains jeux de données, cela peut être une chaîne vide '' ou un autre marqueur.
Le SimpleImputer et de nombreux autres transformateurs fonctionnent uniquement avec des DataFrames, et non avec des Series pandas. La sélection d'une seule colonne d'un DataFrame avec df['column'] retourne une Series. Pour éviter cela, il est possible d'utiliser une double paire de crochets df[['column']] afin de garantir le retour d'un DataFrame :
imputer.fit_transform(df[['column']])
Lorsque la méthode .fit_transform() de SimpleImputer est appliquée, elle retourne un tableau 2D. L'affectation de valeurs à une seule colonne dans un DataFrame pandas nécessite un tableau 1D (ou une Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
La méthode .ravel() peut être utilisée pour aplatir le tableau en 1D avant l'affectation :
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Cela garantit que les valeurs imputées sont correctement formatées et stockées dans la colonne du DataFrame.
Swipe to start coding
Imputer les valeurs manquantes dans la colonne 'sex' en utilisant SimpleImputer. Puisqu'il s'agit d'une colonne catégorielle, remplacer les valeurs NaN par la valeur la plus fréquente.
- Importer
SimpleImputer. - Créer un objet
SimpleImputeravec lastrategysouhaitée. - Imputer les valeurs manquantes de la colonne
'sex'à l'aide de l'objetimputer.
Solution
Excellent ! Le problème des valeurs manquantes dans notre jeu de données a été traité. Les lignes contenant plus d'une valeur nulle ont été supprimées et la colonne 'sex' a été imputée avec la valeur la plus fréquente – MALE.
Merci pour vos commentaires !
single