Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Gestion des Valeurs Manquantes | Prétraitement des Données avec Scikit-learn
Introduction au ML Avec Scikit-Learn

bookGestion des Valeurs Manquantes

Seul un nombre limité de modèles d'apprentissage automatique peuvent gérer les valeurs manquantes, il est donc nécessaire de vérifier le jeu de données afin de s'assurer qu'aucune lacune ne subsiste. Si des valeurs manquantes sont présentes, elles peuvent être traitées de deux manières :

  • Suppression des lignes contenant des valeurs manquantes ;
  • Remplissage des cellules vides avec des valeurs de substitution, un processus appelé imputation.

Identification des valeurs manquantes

Pour afficher des informations générales sur le jeu de données et vérifier la présence de valeurs manquantes, vous pouvez utiliser la méthode .info() d'un DataFrame.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Le jeu de données compte 344 entrées, mais les colonnes 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' et 'sex' contiennent chacune moins de 344 valeurs non nulles, ce qui indique la présence de données manquantes.

Note
Remarque

Null est un autre terme pour désigner les valeurs manquantes.

Pour identifier le nombre de valeurs manquantes dans chaque colonne, appliquez la méthode .isna() puis utilisez .sum().

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Les lignes contenant des valeurs manquantes peuvent être affichées avec : df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Suppression des lignes

Les première et dernière lignes ne contiennent que les valeurs de la cible ('species') et de 'island', fournissant trop peu d'informations pour être utiles. Ces lignes peuvent être supprimées en conservant uniquement celles ayant moins de deux valeurs NaN et en les réaffectant à df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

En revanche, les lignes restantes contiennent des informations utiles, avec des valeurs NaN apparaissant uniquement dans la colonne 'sex'. Au lieu de supprimer ces lignes, les valeurs manquantes peuvent être imputées. Une approche courante consiste à utiliser le transformateur SimpleImputer, qui sera abordé dans le prochain chapitre.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

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

Awesome!

Completion rate improved to 3.13

bookGestion des Valeurs Manquantes

Glissez pour afficher le menu

Seul un nombre limité de modèles d'apprentissage automatique peuvent gérer les valeurs manquantes, il est donc nécessaire de vérifier le jeu de données afin de s'assurer qu'aucune lacune ne subsiste. Si des valeurs manquantes sont présentes, elles peuvent être traitées de deux manières :

  • Suppression des lignes contenant des valeurs manquantes ;
  • Remplissage des cellules vides avec des valeurs de substitution, un processus appelé imputation.

Identification des valeurs manquantes

Pour afficher des informations générales sur le jeu de données et vérifier la présence de valeurs manquantes, vous pouvez utiliser la méthode .info() d'un DataFrame.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Le jeu de données compte 344 entrées, mais les colonnes 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' et 'sex' contiennent chacune moins de 344 valeurs non nulles, ce qui indique la présence de données manquantes.

Note
Remarque

Null est un autre terme pour désigner les valeurs manquantes.

Pour identifier le nombre de valeurs manquantes dans chaque colonne, appliquez la méthode .isna() puis utilisez .sum().

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Les lignes contenant des valeurs manquantes peuvent être affichées avec : df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Suppression des lignes

Les première et dernière lignes ne contiennent que les valeurs de la cible ('species') et de 'island', fournissant trop peu d'informations pour être utiles. Ces lignes peuvent être supprimées en conservant uniquement celles ayant moins de deux valeurs NaN et en les réaffectant à df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

En revanche, les lignes restantes contiennent des informations utiles, avec des valeurs NaN apparaissant uniquement dans la colonne 'sex'. Au lieu de supprimer ces lignes, les valeurs manquantes peuvent être imputées. Une approche courante consiste à utiliser le transformateur SimpleImputer, qui sera abordé dans le prochain chapitre.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
some-alt