Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Imputation des Valeurs Manquantes | Prétraitement des Données avec Scikit-learn
Introduction à l'Apprentissage Automatique avec Python

bookDéfi : Imputation des Valeurs Manquantes

La classe SimpleImputer remplace automatiquement les valeurs manquantes.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Ses paramètres principaux :

  • missing_value : valeur considérée comme manquante (par défaut np.nan) ;
  • strategy : méthode de remplissage des lacunes ('mean' par défaut) ;
  • fill_value : utilisé lorsque strategy='constant'.

En tant que transformateur, il fournit des méthodes telles que .fit(), .transform() et .fit_transform().

Le choix de la méthode de remplissage des données manquantes est essentiel. Une approche courante :

  • variables numériques → moyenne ;
  • variables catégorielles → valeur la plus fréquente.

Options pour strategy :

  • 'mean' — remplir avec la moyenne ;
  • 'median' — remplir avec la médiane ;
  • 'most_frequent' — remplir avec la valeur la plus fréquente ;
  • 'constant' — remplir avec une valeur spécifiée via fill_value.

missing_values définit quelles valeurs sont considérées comme manquantes (par défaut NaN, mais peut être '' ou un autre indicateur).

Note
Remarque

SimpleImputer attend un DataFrame, et non une Series. Un DataFrame à une seule colonne doit être sélectionné avec une double paire de crochets :

imputer.fit_transform(df[['column']])

fit_transform() renvoie un tableau 2D, mais l'affectation à une colonne de DataFrame nécessite un tableau 1D. Aplatissez le résultat en utilisant .ravel() :

df['column'] = imputer.fit_transform(df[['column']]).ravel()
Tâche

Swipe to start coding

Vous disposez d'un DataFrame df contenant des données sur les manchots. La colonne 'sex' comporte des valeurs manquantes. Complétez-les en utilisant la catégorie la plus fréquente.

  1. Importer SimpleImputer ;
  2. Créer un imputer avec strategy='most_frequent' ;
  3. L'appliquer à df[['sex']] ;
  4. Réaffecter les valeurs imputées à df['sex'].

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
single

single

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

Suggested prompts:

Can you explain how to use SimpleImputer with categorical data?

What happens if my data has multiple types of missing value markers?

Can you show an example of using a different strategy, like 'median'?

close

bookDéfi : Imputation des Valeurs Manquantes

Glissez pour afficher le menu

La classe SimpleImputer remplace automatiquement les valeurs manquantes.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Ses paramètres principaux :

  • missing_value : valeur considérée comme manquante (par défaut np.nan) ;
  • strategy : méthode de remplissage des lacunes ('mean' par défaut) ;
  • fill_value : utilisé lorsque strategy='constant'.

En tant que transformateur, il fournit des méthodes telles que .fit(), .transform() et .fit_transform().

Le choix de la méthode de remplissage des données manquantes est essentiel. Une approche courante :

  • variables numériques → moyenne ;
  • variables catégorielles → valeur la plus fréquente.

Options pour strategy :

  • 'mean' — remplir avec la moyenne ;
  • 'median' — remplir avec la médiane ;
  • 'most_frequent' — remplir avec la valeur la plus fréquente ;
  • 'constant' — remplir avec une valeur spécifiée via fill_value.

missing_values définit quelles valeurs sont considérées comme manquantes (par défaut NaN, mais peut être '' ou un autre indicateur).

Note
Remarque

SimpleImputer attend un DataFrame, et non une Series. Un DataFrame à une seule colonne doit être sélectionné avec une double paire de crochets :

imputer.fit_transform(df[['column']])

fit_transform() renvoie un tableau 2D, mais l'affectation à une colonne de DataFrame nécessite un tableau 1D. Aplatissez le résultat en utilisant .ravel() :

df['column'] = imputer.fit_transform(df[['column']]).ravel()
Tâche

Swipe to start coding

Vous disposez d'un DataFrame df contenant des données sur les manchots. La colonne 'sex' comporte des valeurs manquantes. Complétez-les en utilisant la catégorie la plus fréquente.

  1. Importer SimpleImputer ;
  2. Créer un imputer avec strategy='most_frequent' ;
  3. L'appliquer à df[['sex']] ;
  4. Réaffecter les valeurs imputées à df['sex'].

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 4
single

single

some-alt