Gérer les données manquantes

S’entraîner aux questions d’entretien en Machine Learning avec Python

Lisa Stuart

Data Scientist

Prérequis

S’entraîner aux questions d’entretien 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 variables, réduction de dimension
  • Chapitre 4 : Sélection et évaluation de modèles
    • Généralisation et évaluation, sélection de modèles
S’entraîner aux questions d’entretien en Machine Learning avec Python

Pipeline de Machine learning (ML)

Vue d'ensemble du pipeline

S’entraîner aux questions d’entretien en Machine Learning avec Python

Notre pipeline ML

Pipeline

S’entraîner aux questions d’entretien en Machine Learning avec Python

Données manquantes

  • Impact des différentes techniques
  • Détecter les valeurs manquantes
  • Stratégies de traitement
S’entraîner aux questions d’entretien en Machine Learning avec Python

Techniques

  1. Omission
    • Suppression des lignes --> .dropna(axis=0)
    • Suppression des colonnes --> .dropna(axis=1)
  2. Imputation
    • Remplir avec zéro --> SimpleImputer(strategy='constant', fill_value=0)
    • Imputer la moyenne -> SimpleImputer(strategy='mean')
    • Imputer la médiane --> SimpleImputer(strategy='median')
    • Imputer le mode --> SimpleImputer(strategy='most_frequent')
    • Imputation itérative --> IterativeImputer()
S’entraîner aux questions d’entretien 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’entraîner aux questions d’entretien 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 supprimer trop
  • Zéro --> Biaise les résultats à la baisse
  • Moyenne --> Plus sensible aux valeurs aberrantes
  • Médiane --> Mieux en cas de valeurs aberrantes
  • Mode et imputation itérative --> À tester
S’entraîner aux questions d’entretien 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 de 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’entraîner aux questions d’entretien en Machine Learning avec Python

Effets des valeurs manquantes

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

  • Les valeurs manquantes ne posent pas problème, la plupart des algorithmes de sklearn les gèrent.
  • Supprimer les observations ou variables avec des valeurs manquantes est généralement une bonne idée.
  • Les données manquantes introduisent souvent un biais menant à des résultats trompeurs ; elles ne peuvent pas être ignorées.
  • Remplir les valeurs manquantes par zéro biaise les résultats à la hausse.
S’entraîner aux questions d’entretien en Machine Learning avec Python

Effet 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 ; elles ne peuvent pas être ignorées. (Remplir les valeurs manquantes en testant ce qui impacte le moins la variance du jeu de données est la meilleure approche.)
S’entraîner aux questions d’entretien 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 les gèrent pas et lèvent une erreur.)
  • Supprimer des observations ou des variables avec des valeurs manquantes… (Sauf si votre jeu de données est grand et la proportion de manquants faible, supprimer lignes ou colonnes réduit trop la taille pour un ML utile.)
  • Remplir les valeurs manquantes par zéro biaise les résultats à la hausse. (C'est l'inverse : remplir par zéro biaise à la baisse.)
S’entraîner aux questions d’entretien en Machine Learning avec Python

Passons à la pratique !

S’entraîner aux questions d’entretien en Machine Learning avec Python

Preparing Video For Download...