Gérer les données manquantes

S'exercer aux questions d'entrevue en Machine Learning avec Python

Lisa Stuart

Data Scientist

Préalables

S'exercer aux questions d'entrevue en Machine Learning avec Python

Plan du cours

  • Chapitre 1 : Prétraitement et visualisation
    • Données manquantes, valeurs aberrantes, normalisation
  • Chapitre 2 : Apprentissage supervisé
    • Sélection de variables, régularisation, ingénierie des variables
  • Chapitre 3 : Apprentissage non supervisé
    • Choix d'algorithmes de regroupement, extraction de caractéristiques, réduction de dimension
  • Chapitre 4 : Sélection et évaluation de modèles
    • Généralisation et évaluation des modèles, sélection de modèles
S'exercer aux questions d'entrevue en Machine Learning avec Python

Pipeline de Machine Learning (ML)

Aperçu du pipeline

S'exercer aux questions d'entrevue en Machine Learning avec Python

Notre pipeline ML

Pipeline

S'exercer aux questions d'entrevue en Machine Learning avec Python

Données manquantes

  • Impact des différentes techniques
  • Repérer les valeurs manquantes
  • Stratégies de traitement
S'exercer aux questions d'entrevue en Machine Learning avec Python

Techniques

  1. Omission
    • Supprimer des lignes --> .dropna(axis=0)
    • Supprimer des colonnes --> .dropna(axis=1)
  2. Imputation
    • Remplir par zéro --> SimpleImputer(strategy='constant', fill_value=0)
    • Imputer la moyenne -> SimpleImputer(strategy='mean')
    • Imputer la médiane --> SimpleImputer(strategy='median')
    • Imputer la modalité --> SimpleImputer(strategy='most_frequent')
    • Imputation itérative --> IterativeImputer()
S'exercer aux questions d'entrevue en Machine Learning avec Python

Pourquoi s'en soucier ?

  • Réduire le risque d'introduire un biais
  • La plupart des algorithmes ML exigent des données complètes
S'exercer aux questions d'entrevue en Machine Learning avec Python

Effets de l'imputation

  • Dépendent de :
    • Valeurs manquantes
    • Variance initiale
    • Présence de valeurs aberrantes
    • Ampleur et sens de l'asymétrie
  • Omission --> Peut retirer trop d'éléments
  • Zéro --> Biaise les résultats à la baisse
  • Moyenne --> Plus sensible aux valeurs aberrantes
  • Médiane --> Mieux en présence d'aberrants
  • Mode et imputation itérative --> À essayer
S'exercer aux questions d'entrevue en Machine Learning avec Python
Fonction renvoie
df.isna().sum() nombre manquant
df['feature'].mean() moyenne de la variable
.shape dimensions lignes, colonnes
df.columns noms des colonnes
.fillna(0) remplit les manquants par 0
select_dtypes(include = [np.number] ) colonnes numériques
select_dtypes(include = ['object'] ) colonnes texte
.fit_transform(numeric_cols) ajuste et transforme
S'exercer aux questions d'entrevue en Machine Learning avec Python

Effets des valeurs manquantes

Quels sont les effets des valeurs manquantes en Machine Learning (ML) ? Choisissez l'affirmation vraie :

  • Les valeurs manquantes ne posent pas problème, car la plupart des algorithmes de sklearn peuvent les gérer.
  • Supprimer des observations ou des variables avec des manquants est généralement une bonne idée.
  • Les données manquantes introduisent souvent un biais menant à des résultats trompeurs ; on ne peut pas les ignorer.
  • Remplir les valeurs manquantes par zéro va biaiser les résultats à la hausse.
S'exercer aux questions d'entrevue en Machine Learning avec Python

Effets des valeurs manquantes : réponse

Quels sont les effets des valeurs manquantes en Machine Learning (ML) ? La bonne réponse est :

  • Les données manquantes introduisent souvent un biais menant à des résultats trompeurs ; on ne peut pas les ignorer. (Le mieux est de tester des imputations et de retenir celle qui perturbe le moins la variance de l'ensemble de données.)
S'exercer aux questions d'entrevue en Machine Learning avec Python

Effets des valeurs manquantes : mauvaises réponses

Quels sont les effets des valeurs manquantes en Machine Learning (ML) ?

  • Les valeurs manquantes ne posent pas problème… (La plupart des algorithmes de sklearn ne peuvent pas gérer les manquants et lèvent une erreur.)
  • Supprimer des observations ou des variables avec des manquants… (Sauf si l'ensemble est très grand et la proportion de manquants faible, supprimer des lignes ou colonnes rétrécit trop l'ensemble pour un ML utile.)
  • Remplir les valeurs manquantes par zéro va biaiser les résultats à la hausse. (C'est l'inverse : le remplissage par zéro biaise à la baisse.)
S'exercer aux questions d'entrevue en Machine Learning avec Python

Passons à la pratique !

S'exercer aux questions d'entrevue en Machine Learning avec Python

Preparing Video For Download...