De nombreux ensembles de données du monde réel peuvent contenir des valeurs manquantes pour diverses raisons. Elles sont souvent codées sous forme de NaN, de blancs ou de tout autre caractère de remplacement. L’entraînement d’un modèle avec un ensemble de données comportant de nombreuses valeurs manquantes peut avoir un impact considérable sur la qualité du modèle d’apprentissage automatique. Certains algorithmes tels que les estimateurs de scikit-learn supposent que toutes les valeurs sont numériques et ont et tiennent une valeur significative.

Une façon de gérer ce problème est de se débarrasser des observations qui ont des données manquantes. Cependant, vous risquez de perdre des points de données contenant des informations précieuses. Une meilleure stratégie serait d’imputer les valeurs manquantes. En d’autres termes, nous devons déduire ces valeurs manquantes à partir de la partie existante des données. Il existe trois principaux types de données manquantes :

  • Manque complètement au hasard (MCAR)
  • Manque au hasard (MAR)
  • Non manquante au hasard (NMAR)

Cependant, dans cet article, je me concentrerai sur 6 méthodes populaires d’imputation de données pour les ensembles de données transversales ( Les ensembles de données chronologiques sont une autre histoire ).

C’est une méthode facile. Vous laissez simplement l’algorithme gérer les données manquantes. Certains algorithmes peuvent prendre en compte les valeurs manquantes et apprendre les meilleures valeurs d’imputation pour les données manquantes en fonction de la réduction de la perte de formation (c’est-à-dire XGBoost). D’autres ont la possibilité de les ignorer (par exemple, LightGBM – use_missing=false). Cependant, d’autres algorithmes paniquent et génèrent une erreur en se plaignant des valeurs manquantes (par exemple Scikit learn – LinearRegression). Dans ce cas, vous devrez traiter les données manquantes et les nettoyer avant de les fournir à l’algorithme.

Voyons d’autres façons d’imputer les valeurs manquantes avant la formation :

Note : Tous les exemples ci-dessous utilisent le California Housing Dataset de Scikit-learn.

2- Imputation à l’aide de valeurs (moyennes/médianes):

Cela fonctionne en calculant la moyenne/médiane des valeurs non manquantes dans une colonne, puis en remplaçant les valeurs manquantes dans chaque colonne séparément et indépendamment des autres. Il ne peut être utilisé qu’avec des données numériques.

Mean Imputation

Pros:

  • Facile et rapide.
  • Fonctionne bien avec les petits ensembles de données numériques.

Cons:

  • Ne prend pas en compte les corrélations entre les caractéristiques. Il ne fonctionne qu’au niveau des colonnes.
  • Donnera de mauvais résultats sur les caractéristiques catégorielles codées (ne l’utilisez PAS sur les caractéristiques catégorielles).
  • Pas très précis.
  • Ne tient pas compte de l’incertitude des imputations.
Imputation moyenne/médiane

3- Imputation à l’aide des valeurs (les plus fréquentes) ou (nulles/constantes) :

La plus fréquente est une autre stratégie statistique pour imputer les valeurs manquantes et OUI ! !! Elle fonctionne avec des caractéristiques catégorielles (chaînes de caractères ou représentations numériques) en remplaçant les données manquantes par les valeurs les plus fréquentes dans chaque colonne.

Pros:

  • Fonctionne bien avec les caractéristiques catégorielles.

Cons:

  • Elle ne prend pas non plus en compte les corrélations entre les caractéristiques.
  • Elle peut introduire un biais dans les données.
Imputation la plus fréquente

Imputation nulle ou constante – comme son nom l’indique, elle remplace les valeurs manquantes par zéro ou par toute valeur constante que vous spécifiez

4- Imputation utilisant k-NN :

Les k plus proches voisins est un algorithme qui est utilisé pour une classification simple. L’algorithme utilise la  » similarité des caractéristiques  » pour prédire les valeurs de tout nouveau point de données. Cela signifie qu’une valeur est attribuée au nouveau point en fonction de sa ressemblance avec les points de l’ensemble d’apprentissage. Cela peut être très utile pour faire des prédictions sur les valeurs manquantes en trouvant les k voisins les plus proches de l’observation avec des données manquantes, puis en les imputant sur la base des valeurs non manquantes dans le voisinage. Voyons un exemple de code utilisant la bibliothèque Impyute qui fournit un moyen simple et facile d’utiliser KNN pour l’imputation :

Imputation KNN pour l’ensemble de données de logement de la Californie

Comment cela fonctionne-t-il ?

Il crée une imputation moyenne de base puis utilise la liste complète résultante pour construire un KDTree. Ensuite, il utilise le KDTree résultant pour calculer les plus proches voisins (NN). Après avoir trouvé les k-NN, il prend la moyenne pondérée de ceux-ci.

Pros:

  • Peut être beaucoup plus précis que les méthodes d’imputation moyenne, médiane ou la plus fréquente (Cela dépend de l’ensemble de données).

Cons :

  • Computationnellement coûteux. KNN fonctionne en stockant tout le jeu de données d’entraînement en mémoire.
  • K-NN est assez sensible aux aberrations dans les données (contrairement au SVM)

5-. Imputation utilisant l’imputation multivariée par équation chaînée (MICE)

Principales étapes utilisées dans les imputations multiples

Ce type d’imputation fonctionne en remplissant les données manquantes plusieurs fois. Les imputations multiples (IM) sont bien meilleures qu’une imputation unique car elles mesurent mieux l’incertitude des valeurs manquantes. L’approche des équations enchaînées est également très souple et peut traiter différentes variables de différents types de données (c’est-à-dire continues ou binaires) ainsi que des complexités telles que les limites ou les schémas d’omission d’enquête. Pour plus d’informations sur la mécanique de l’algorithme, vous pouvez vous référer au document de recherche

MICE imputation using impyute

6- Imputation Using Deep Learning (Datawig) :

Cette méthode fonctionne très bien avec des caractéristiques catégorielles et non numériques. Il s’agit d’une bibliothèque qui apprend des modèles d’apprentissage automatique en utilisant des réseaux neuronaux profonds pour imputer les valeurs manquantes dans une trame de données. Elle prend également en charge à la fois le CPU et le GPU pour la formation.

Imputation à l’aide de Datawig

Pros:

  • Quelque peu de précision par rapport aux autres méthodes.
  • Il a quelques fonctions qui peuvent traiter les données catégorielles (Feature Encoder).
  • Il prend en charge les CPU et les GPU.

Consignes:

  • Imputation sur une seule colonne.
  • Peut être assez lent avec de grands ensembles de données.
  • Vous devez spécifier les colonnes qui contiennent des informations sur la colonne cible qui sera imputée.

Imputation par régression stochastique :

Elle est assez similaire à l’imputation par régression qui tente de prédire les valeurs manquantes en les régressant à partir d’autres variables liées dans le même ensemble de données plus une certaine valeur résiduelle aléatoire.

Extrapolation et interpolation :

Elle tente d’estimer les valeurs à partir d’autres observations dans la plage d’un ensemble discret de points de données connus.

Imputation Hot-Deck :

Elle fonctionne en choisissant de manière aléatoire la valeur manquante à partir d’un ensemble de variables connexes et similaires.

En conclusion, il n’existe pas de moyen parfait de compenser les valeurs manquantes dans un ensemble de données. Chaque stratégie peut être plus performante pour certains ensembles de données et types de données manquantes mais peut être beaucoup moins performante sur d’autres types d’ensembles de données. Il existe certaines règles établies pour décider de la stratégie à utiliser pour des types particuliers de valeurs manquantes, mais au-delà de cela, vous devez expérimenter et vérifier quel modèle fonctionne le mieux pour votre ensemble de données.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.