Préparer des données pour l’apprentissage automatique amélioré

Le prétraitement et le nettoyage des données sont des tâches importantes qui doivent intervenir avant d’utiliser un jeu de données pour la formation de modèles. Les données brutes sont souvent bruyantes, peu fiables et peuvent s’avérer incomplètes. Leur utilisation pour la modélisation peut générer des résultats trompeurs. Ces tâches font partie du processus TDSP (Team Data Science Process) et suivent généralement l’exploration initiale d’un jeu de données utilisé pour découvrir et planifier le traitement préliminaire requis. Pour plus d’informations, consultez Qu’est-ce que le processus Team Data Science Process ?

Les tâches de prétraitement et de nettoyage, telles que la tâche d’exploration de données, peuvent être exécutées dans une grande variété d’environnements, tels que SQL ou Hive ou Azure Machine Learning Studio (classique). Vous pouvez également utiliser différents outils et langages, tels que R ou Python. Où sont stockées vos données et en quoi leur format affecte ces décisions. Étant donné que le processus TDSP est itératif par nature, ces tâches peuvent avoir lieu à diverses étapes du flux de travail du processus.

Cet article présente différents concepts et tâches de prétraitement des données, à effectuer avant ou après l’intégration de ces données dans Azure Machine Learning Studio (classique).

Pour obtenir un exemple d’exploration de données et de prétraitement dans Azure Machine Learning Studio (classique), consultez la vidéo Prétraitement des données.

Pourquoi prétraiter et nettoyer les données ?

Dans le monde réel, les données proviennent de plusieurs sources et processus. Elles peuvent contenir des anomalies ou des valeurs incorrectes qui compromettent la qualité du jeu de données. Les problèmes de qualité les plus fréquents sont les suivants :

  • Données incomplètes :des valeurs ou des attributs sont manquants.
  • Données bruyantes :contiennent des enregistrements erronés ou des aberrations.
  • Données incohérentes :contiennent des enregistrements en conflit ou des contradictions.

La qualité des données est essentielle pour obtenir des modèles prédictifs performants. Pour éviter les données erronées (de type garbage in, garbage out) et améliorer la qualité des données et, par conséquent, les performances des modèles, il est impératif d’analyser l’intégrité des données afin de détecter au plus tôt les anomalies. Vous devez décider des étapes correspondantes de traitement et de nettoyage des données.

Quels sont les critères d’intégrité des données généralement employés ?

Vous pouvez évaluer la qualité globale des données en vérifiant les éléments suivants :

  • Le nombre d’ enregistrements.
  • Le nombre d’attributs (ou de fonctionnalités).
  • Le type de données des attributs, comme nominal, ordinal ou continu.
  • Le nombre de valeurs manquantes.
  • Pour des données bien formées.
    • Si les données sont au format TSV ou CSV, vérifiez que les séparateurs de colonne et de ligne séparent correctement les colonnes et les lignes.
    • Si les données sont au format HTML ou XML, vérifiez qu’elles sont conformes à leur standard respectif.
    • Une analyse peut également se révéler nécessaire pour obtenir des informations structurées à partir de données non ou semi-structurées.
  • Enregistrements de données incohérents. Vérifiez la plage des valeurs autorisées. Par exemple, si les données sont des notes moyennes d’étudiant, vérifiez qu’elles sont comprises dans la plage désignée, par exemple de 0 à 4.

Lorsque vous détectez des problèmes dans les données, effectuez des étapes de traitement. Par exemple : nettoyage des valeurs manquantes, normalisation des données, discrétisation, traitement de texte pour supprimer et/ou remplacer des caractères incorporés susceptibles de perturber l’alignement des données, types de données mixtes dans les champs communs, etc.

Azure Machine Learning n’exploite que les données tabulaires bien formées. Si les données sont déjà au format tabulaire, vous pouvez exécuter directement le prétraitement avec Azure Machine Learning Studio (classique). Si les données ne sont pas sous forme tabulaire, par exemple s’il s’agit d’un format XML, vous devrez peut-être analyser les données afin de les convertir au format tabulaire.

Quelles sont les principales opérations effectuées lors du prétraitement des données ?

  • Nettoyage des données : compléter les valeurs manquantes, détecter et supprimer les données bruyantes et les aberrations.
  • Transformation des données :normaliser les données pour réduire le volume et le bruit.
  • Réduction des données :échantillonner les enregistrements de données ou les attributs pour faciliter la manipulation des données.
  • Discrétisation des données :convertir des attributs continus en attributs catégoriels pour simplifier l’exploitation des données dans certains outils d’apprentissage automatique.
  • Nettoyage de texte : supprimer les caractères incorporés susceptibles d’entraîner un mauvais alignement des données. Par exemple, il peut s’agir de tabulations incorporées dans un fichier de données séparées par des tabulations ou de nouvelles lignes qui interrompent les enregistrements.

Les sections suivantes décrivent certaines de ces étapes de traitement des données.

Comment gérer les valeurs manquantes ?

Pour gérer les valeurs manquantes, identifiez d’abord la raison. Les méthodes les plus courantes de traitement des valeurs manquantes sont les suivantes :

  • Suppression :supprimer les enregistrements ayant des valeurs manquantes.
  • Remplacement par une valeur factice : remplacer des valeurs manquantes par une valeur factice : par exemple, inconnu pour les valeurs catégorielles ou 0 pour les valeurs numériques.
  • Remplacement par la moyenne :si les données manquantes sont numériques, remplacez-les par la valeur moyenne.
  • Remplacement par l’élément le plus fréquent :si les données manquantes sont catégorielles, remplacer les valeurs manquantes par l’élément le plus fréquent.
  • Remplacement par la valeur de régression :remplacer les valeurs manquantes par des valeurs de régression.

Comment normaliser les données ?

La normalisation des données restreint les valeurs numériques à une plage spécifiée. Les méthodes de normalisation les plus courantes sont les suivantes :

  • Normalisation min-max : adapter linéairement les données à une plage comprise, par exemple, entre 0 et 1. La valeur minimale est 0 et la valeur maximale est 1.
  • Normalisation du score Z : mettre les données à l’échelle en fonction de la moyenne et de l’écart type. Diviser la différence entre les données et la moyenne par l’écart-type.
  • Mise à l’échelle décimale: mettre les données à l’échelle en déplaçant le séparateur décimal de la valeur de l’attribut.

Comment discrétiser les données ?

Pour discrétiser les données, il faut convertir les valeurs continues en attributs ou intervalles nominaux. Vous pouvez appliquer l’une des procédures suivantes :

  • Compartimentage à largeur identique : diviser la plage de toutes les valeurs possibles d’un attribut en N groupes de même taille et attribuer aux valeurs le numéro de compartiment qui leur correspond..
  • Compartimentage à hauteur identique : diviser la plage de toutes les valeurs possibles d’un attribut en N groupes, chacun contenant le même nombre d’instances. Attribuer ensuite aux valeurs le numéro de compartiment qui leur correspond.

Comment réduire les données ?

Plusieurs méthodes permettent de réduire la taille des données pour en faciliter la manipulation. Selon la taille et le domaine, vous pouvez appliquer les méthodes suivantes :

  • Échantillonnage des enregistrements: échantillonner les enregistrements de données et ne choisir que le sous-ensemble représentatif.
  • Échantillonnage des attributs : ne sélectionner que les attributs importants dans les données.
  • Agrégation: diviser les données en groupes et stocker les nombres de chaque groupe. Par exemple, le chiffre d’affaires quotidien d’une chaîne de restaurants sur les 20 dernières années peut être agrégé en un chiffre d’affaires mensuel pour réduire la taille des données.

Comment nettoyer les données textuelles ?

Les champs de texte au format tabulaire peuvent contenir des caractères qui perturbent l’alignement des colonnes ou les limites des enregistrements. Par exemple, des tabulations incorporées dans un fichier TSV peuvent décaler les colonnes, et des caractères incorporés de nouvelle ligne peuvent déstructurer des enregistrements. Lors de l’écriture ou de la lecture d’un texte, le fait de gérer correctement l’encodage du texte permet d’éviter la perte d’informations, l’ajout intempestif de caractères illisibles (comme des valeurs Null) ou une analyse incorrecte du texte. Vous devrez peut-être analyser et modifier soigneusement les données. Vous pouvez nettoyer les champs de texte pour garantir un alignement approprié et extraire des données structurées à partir de données non structurées ou semi-structurées.

L’exploration des données permet d’obtenir une vue sur l’état des données. Cette étape est susceptible de révéler de nombreux problèmes de données auxquels vous devrez appliquer des méthodes correctives appropriées. Il est important de s’interroger sur l’origine du problème et la manière dont il peut avoir été introduit dans les données. Ce processus permet de déterminer les étapes de traitement des données à effectuer pour résoudre ces problèmes. Pour définir la priorité de l’effort de traitement des données, vous pouvez identifier les cas d’usage final et les personas.

Références

Data Mining : Concepts et Techniques, 3e édition, Morgan Kaufmann, 2011, Jiawei Han, Micheline Kamber et Jian Pei

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteur principal :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes