La qualité de données : carburant de l'IA !

Partager cet article

Si le Machine Learning est au cœur de tous les enjeux actuels, il n’est rien sans données. Pas de Machine Learning sans des données exploitables donc ! Il est en effet clair que pour qu’une machine apprenne, il faut lui donner les bonnes informations. C’est aussi vrai pour nous modestes êtres humains n’est-ce pas ? Fort heureusement quand nous étions à l’école nous avions les livres correspondant à notre cursus. Imaginez un instant que vous soyez en Terminale Scientifique et qu’on vous donne un livre de 1ère Littéraire ! La suite de votre apprentissage ne serait-elle pas mise en danger ? Bien sur que oui, la conclusion est donc claire :

Pas de Machine Learning efficace sans informations/données de qualité !

Oui mais quelle qualité de données ?

Il est évident que les exigences d’un projet de Data Science ne sont pas les mêmes qu’un projet de gouvernance. La qualité ou plutot le type de qualité des informations que l’on récupère au final est un enjeu majeur. Mais un Data scientiste n’aura que faire d’indicateurs de qualité par exemple ! sa préoccupation sera de trouver des données et surtout que ces dernières soient exploitables.

Et des données il y en a, de tout type et tout format. Les défis du Data scientiste se résument vite à sa capacité de qualifier les problèmes afin de compenser efficacement les lacunes sur les données.

Imaginons que notre Data scientiste travaille sur des données de crédit. Vous le saviez sans doute pas mais c’est exactement ce qu’utilise votre banquier quand vous faites une demande de crédit ! Vous avez donc un certain nombre de caractéristiques (antécédents bancaire, age, civilité, etc.) qui vont permettre à un algorithme de Machine Learning de savoir si vous êtes éligibles à ce crédit. En gros, l’idée est de savoir si par rapport à toutes les informations (des autres particuliers de la banque) votre profil présente un risque important.Vous connaissez maintenant le coupable de votre dernier refus de crédit !

Imaginons maintenant que dans toutes ces informations les ages ne soient pas renseignés ou incorrects.

Voici quelques exemples classiques :

  • Une colonne/champ non renseigné(e).
  • Une date de naissance le 01/01/1901 (comme par hasard la valeur par défaut positionnée par le progiciel de la banque).
  • L’age est incohérent avec la date de naissance.
  • Une quantité ou un age négatif : -23 ans (si si ça arrive !).
  • Etc.

Les exemples ne manquent pas.

Vous imaginez bien que si vous faites apprendre votre modèle de Machine Learning avec de telles données vous n’aurez pas un résultat de qualité !

Analyser pour mieux redresser

L’exemple précédent est bien sur un exemple simple, très simple même. Mais n’oublions pas que l’enjeu n’est pas seulement de détecter le problème. Il va aussi falloir mieux analyser les données considérées comme correctes. Analyser les valeurs avec leurs fréquence de distribution afin de définir si les ages sont répartis suivant une loi normale par exemple sera extrêmement intéressant. N’oublions pas que notre fameux Data scientiste est un statisticien et que dans ce cas précis il pourra sans doute remplacer les valeurs incorrectes par (je simplifie) la valeur médiane.

Il pourra tout aussi bien partir sur une valeur moyenne mais la préoccupation majeure de notre Data scientiste est d’éviter de retirer de données. Il doit donc sans arrêt détecter et voir comment placer des rustines dans son jeu de données afin de minimiser les impacts de la non qualité sur ses prédictions.

La préparation des données doit se nourrir de qualité de données.

Il devient donc indispensable d’analyser (« profiler » en Anglais) au maximum les données qui sont nécessaire au modèle prédictif. Cette analyse doit pouvoir aussi donner une idée des informations d’un point de vue statistique (fréquences de distribution, valeurs min, max, écart type, moyenne, etc.). Ces éléments capturés deviendront essentiels au Data scientiste dans ses stratégies de gestion de la qualité des données.

Travailler sur les caractéristiques

Une fois l’analyse réalisée sur l’ensemble des données, notre Data scientiste devra éventuellement et selon les caractéristiques re-travailler les données.

Grâce à un graphique de répartition des valeurs par exemple notre Data scientiste pourra vite trouver ce que l’on appelle des valeurs aberrantes. Ces valeurs sont celles qui sortent du lot (Dans le jargon Informatica ou celui des statisticiens nous les appelons : Outliers) et qui vont perturber nos algorithmes de Machine Learning. Dans le même ordre d’idée que précédemment, c’est au Data scientiste  de déterminer si il doit supprimer la donnée ou la remplacer par une autre valeur (médiane par exemple).

Il existe en fait pléthore de solution que le Data scientiste pourra mettre en œuvre.

La complexité reste dans la détection de ces problèmes de qualité de données et leur interprétation.

Un second aspect intéressant – et je vais m’arrêter là pour cet article – est de trouver si il y a des dépendances entre les colonnes. Dans des algorithmes tels que Naïve Bayes il est indispensable de présenter des caractéristiques indépendantes. il s’agit donc au préalable de vérifier que tel est le cas. Malheureusement les dépendances ne sont pas toujours évidentes comme une date de naissance et un age. Parfois une démarche outillée, telle que Informatica Data Quality sera indispensable pour trouver les intrus.

Pour conclure donc, les algorithmes de Machine Learning ont besoin d’un niveau très élevé de qualité sur les informations. Au delà du diagnostique, ces algorithmes devront être nourris par des données vérifiées et souvent même retravaillées. L’utilisation d’un outillage adéquate pour ce type de manipulation s’avère donc vite indispensable si le Data Scientiste ne veut pas passer son temps à travailler et re-travailler ses jeux de données.

Partager cet article

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.