Préparation des données dans un projet Data Science: recettes pour les jeunes femmes au foyer



Dans un article précédent, j'ai parlé de la structure d'un projet Data Science basé sur des matériaux de méthodologie IBM: comment il est structuré, à quelles étapes il consiste, quelles tâches sont résolues à chaque étape. Maintenant, je voudrais donner un aperçu de l'étape la plus longue, qui peut prendre jusqu'à 90% du temps total du projet: ce sont les étapes associées à la préparation des données - collecte, analyse et nettoyage.

Dans la description originale de la méthodologie, le projet Data Science est comparé à la préparation d'un plat, et l'analyste à un chef. En conséquence, l'étape de préparation des données est comparée à la préparation des produits: après avoir décidé de la recette du plat à préparer au stade de l'analyse de la tâche commerciale, nous devons trouver, collecter en un seul endroit, nettoyer et couper les ingrédients. En conséquence, le goût du plat dépendra de la façon dont cette étape a été réalisée (supposons que nous ayons deviné la recette, d'autant plus qu'il existe de nombreuses recettes dans le domaine public). Travailler avec des ingrédients, c'est-à-dire préparer des données, est toujours une entreprise de bijoux, laborieuse et responsable: un produit gâté ou non lavé - et tout le travail est gaspillé.

Collecte de données


Après avoir reçu une liste d'ingrédients dont nous pourrions avoir besoin, nous procédons à la recherche de données pour résoudre le problème et formons un échantillon avec lequel nous travaillerons à l'avenir. Rappelons pourquoi nous avons besoin d'un échantillon: d'une part, nous l'utilisons pour nous faire une idée de la nature des données au stade de la préparation des données, et d'autre part, nous en formerons des échantillons de test et de formation aux étapes de développement et de configuration du modèle.


Bien sûr, nous ne prenons pas de cas où vous, sous la menace d'un NDA dur, devez comprendre quelque chose sur les données d'un projet à grande échelle et que vous recevez les données d'un client sévère sur un lecteur flash ou en pièce jointe à une lettre. Supposons que vous vous portiez bien et ayez accès aux données. À ce stade, il est nécessaire de préparer un échantillon qui:

  1. reflète toutes les propriétés nécessaires de la population
  2. C'était pratique de travailler, c'est-à-dire pas trop grand.

Il semblerait, pourquoi vous limiter à la quantité de données à l'ère du big data? C'est en sociologie, en règle générale, la population générale n'est pas disponible: lorsque nous examinons l'opinion publique, il est impossible de questionner tout le monde, même en théorie. Ou en médecine, où un nouveau médicament est à l'étude sur un certain nombre de lapins / souris / mouches expérimentales: chaque objet supplémentaire dans le groupe d'étude est coûteux, gênant et difficile. Cependant, même si l'ensemble de la population est réellement à notre disposition, le Big Data nécessite une infrastructure informatique appropriée et son déploiement est coûteux en soi (nous ne parlons pas de cas où une infrastructure prête à l'emploi et configurée est à portée de main). Autrement dit, même s'il est théoriquement possible de calculer toutes les données, il s'avère généralement qu'elles sont longues, coûteuses et généralement pourquoi, car vous pouvez vous passer de tout cela si vous préparez un échantillon de haute qualité, bien que petit, composé, par exemple, de plusieurs milliers d'enregistrements.

Le temps et les efforts consacrés à la création de l'échantillon vous permettent de consacrer plus de temps à l'exploration de données: par exemple, les valeurs aberrantes ou manquantes peuvent contenir des informations précieuses, mais parmi des millions d'enregistrements, il est impossible de trouver, et parmi plusieurs milliers, il est complètement.

Comment évaluer la représentativité des données?


Afin de comprendre à quel point notre échantillon est représentatif, le bon sens et les statistiques nous sont utiles. Pour les données catégoriques, nous devons nous assurer que dans notre échantillon, chaque attribut important du point de vue du problème commercial est présenté dans les mêmes proportions que dans la population générale. Par exemple, si nous examinons les données des patients de la clinique et que la question concerne les personnes de tous âges, l'échantillon qui ne comprend que des enfants ne nous conviendra pas. Pour les données historiques, il convient de vérifier que les données couvrent un intervalle de temps représentatif auquel les entités étudiées prennent toutes les valeurs possibles. Par exemple, si nous analysons les appels aux agences gouvernementales, les données pour la première semaine de janvier ne nous conviendront probablement pas, car la baisse des appels diminue à ce moment. Pour les signes numériques, il est logique de calculer les statistiques de base (au moins statistiques ponctuelles: moyenne, médiane, variabilité et comparer avec des statistiques similaires de la population générale, si possible, bien sûr).

Problèmes de collecte de données


Il arrive souvent que nous manquions de données. Par exemple, un système d'information a changé et les données de l'ancien système ne sont pas disponibles, ou la structure des données est différente: de nouvelles clés sont utilisées et il est impossible d'établir une connexion entre les anciennes et les nouvelles données. Les problèmes organisationnels ne sont pas non plus rares lorsque les données sont détenues par différents propriétaires et que tout le monde ne peut pas être configuré pour consacrer du temps et des ressources au téléchargement pour un projet tiers.

Que faire dans ce cas? Parfois, il s'avère trouver un remplaçant: s'il n'y a pas de tomates fraîches, alors des tomates en conserve peuvent apparaître. Et si la carotte s'est avérée toute pourrie, vous devez vous rendre sur le marché pour une nouvelle portion. Il est donc tout à fait possible qu'à ce stade, nous devions revenir à l'étape précédente, où nous avons analysé la tâche commerciale et nous sommes demandé s'il était possible de reformuler la question d'une manière ou d'une autre: par exemple, nous ne pouvons pas déterminer clairement quelle version de la page de la boutique en ligne est meilleure vend un produit (par exemple, il n'y a pas assez de données sur les ventes), mais on peut dire sur quelle page les utilisateurs passent plus de temps et moins d'échecs (sessions de navigation très courtes de quelques secondes).


Analyse exploratoire des données


Supposons que les données soient reçues et qu'elles soient sûres qu'elles reflètent la population générale et contiennent une réponse à la tâche commerciale posée. Maintenant, ils doivent être examinés afin de comprendre quelle qualité les produits de données sont entre nos mains et s'ils conviennent à la recette prévue. Supposons que nous ayons déjà pris quelques exemples d'enregistrements, trié quelle est la clé et quels types de données qu'elle contient: numérique, binaire, catégorique. Après cela, vous pouvez commencer à étudier chaque symptôme individuellement. Le principal outil de recherche est la statistique descriptive.


Évaluation de la position centrale


Au premier stade de l'étude, il serait bon de comprendre quelles valeurs sont typiques pour chaque caractéristique. L'estimation la plus simple est la moyenne arithmétique: un indicateur simple et bien connu. Cependant, si la dispersion des données est importante, la moyenne ne nous en dira pas beaucoup sur les valeurs typiques: par exemple, nous voulons comprendre le niveau de salaire dans un hôpital. Pour ce faire, additionnez le salaire de tous les employés, y compris le directeur, qui reçoit plusieurs fois plus que l'infirmière. La moyenne arithmétique obtenue sera supérieure au salaire de n'importe quel employé (à l'exception du directeur) et ne nous dira rien d'un salaire typique. Un tel indicateur ne convient que pour faire rapport au ministère de la Santé, qui rendra fièrement compte des augmentations de salaire. La valeur obtenue est trop soumise à l'influence des valeurs limites. Afin d'éviter l'influence des valeurs aberrantes (atypiques, valeurs limites), d'autres statistiques sont utilisées: la médiane, qui est calculée comme la valeur centrale dans les valeurs triées.

Si les données sont binaires ou catégoriques, vous devez déterminer quelles valeurs sont les plus courantes et lesquelles sont moins courantes. Pour ce faire, utilisez le mod: la valeur ou catégorie la plus courante. Cela est utile, entre autres, pour comprendre la représentativité de l'échantillon: par exemple, nous avons examiné les données des dossiers médicaux des patients et constaté que ⅔ les cartes appartiennent aux femmes. Vous vous demanderez alors s'il y a eu une erreur lors de l'échantillonnage. Pour afficher les rapports de catégories les uns par rapport aux autres, une représentation graphique des données est utile, par exemple, sous la forme de graphiques à barres ou à secteurs.

Évaluation de la variabilité des données


Après avoir déterminé les valeurs typiques de notre échantillon, nous pouvons examiner les valeurs atypiques - les valeurs aberrantes. Les émissions peuvent nous renseigner sur la qualité des données: par exemple, elles peuvent être des signes d'erreurs: confusion de dimensionnalité, perte de décimales ou courbe d'encodage. Ils parlent également de la variation des données, des valeurs limites des caractéristiques étudiées.

Ensuite, nous pouvons procéder à une évaluation générale de la variation des données. La variabilité (c'est aussi la dispersion) montre à quel point les valeurs du trait diffèrent. Une façon de mesurer la variabilité consiste à évaluer les écarts typiques des caractéristiques par rapport à une valeur centrale. Il est clair que la moyenne de ces écarts ne nous donnera pas grand-chose, car les écarts négatifs neutralisent les positifs. Les estimations de variabilité les plus connues sont la variance et l'écart-type, en tenant compte de la valeur absolue des écarts (la variance est la moyenne des écarts carrés et l'écart-type est la racine carrée de la variance).

Une autre approche est basée sur la prise en compte de la propagation des données triées (pour les grands ensembles de données, ces mesures ne sont pas utilisées, car vous devez d'abord trier les valeurs, ce qui est coûteux en soi). Par exemple, une évaluation utilisant des centiles (vous pouvez également trouver uniquement des centiles). Nième centile - ce sont des valeurs telles qu'au moins N% des données prennent une telle valeur ou plus. Afin d'éviter une sensibilité aux valeurs aberrantes, des valeurs peuvent être supprimées à chaque extrémité. La mesure de variabilité généralement acceptée est la différence entre les 25e et 75e centiles - l'intervalle interquartile.

Enquête sur la distribution des données


Après avoir évalué les données à l'aide de caractéristiques numériques généralisées, nous pouvons estimer à quoi ressemble la distribution des données dans son ensemble. Pour ce faire, il est plus pratique d'utiliser des outils de modélisation visuelle - graphiques.

Les types de graphiques les plus couramment utilisés sont un graphique en boîte (ou une boîte avec une moustache) et des graphiques à barres. Une boîte avec une moustache - une représentation compacte pratique de la sélection, vous permet de voir plusieurs des caractéristiques étudiées sur une image, et donc de les comparer les unes aux autres. Sinon, ce type de graphique est appelé un diagramme en boîte et moustaches ou un tracé, un diagramme en boîte. Ce type de diagramme sous une forme compréhensible montre la médiane (ou, si nécessaire, la moyenne), les quartiles inférieur et supérieur, les valeurs minimale et maximale de l'échantillon et des valeurs aberrantes. Plusieurs de ces cases peuvent être dessinées côte à côte pour comparer visuellement une distribution avec une autre; ils peuvent être placés à la fois horizontalement et verticalement. Les distances entre les différentes parties de la boîte vous permettent de déterminer le degré de dispersion (dispersion), l'asymétrie des données et d'identifier les valeurs aberrantes.


Un outil utile est également un histogramme bien connu - visualisation du tableau des fréquences, où les intervalles de fréquence sont tracés sur l'axe X et la quantité de données sur l'axe Y. Un graphique à barres sera également utile pour rechercher des données historiques: il vous aidera à comprendre comment les enregistrements ont été répartis dans le temps et pouvez-vous leur faire confiance. En utilisant le graphique, il est possible d'identifier à la fois les erreurs d'échantillonnage et les données cassées: des rafales dans des endroits inattendus ou la présence d'enregistrements liés à l'avenir peuvent permettre de détecter des problèmes avec le format des données, par exemple, le mélange des formats de date dans la partie échantillon.

Corrélation


Après avoir examiné toutes les variables, nous devons comprendre s'il y en a d'autres. Pour ce faire, le coefficient de corrélation est utilisé - un indicateur métrique qui mesure le degré auquel les variables numériques sont liées les unes aux autres et prend des valeurs comprises entre 1 et -1. La matrice de corrélation est un tableau dans lequel les lignes et les colonnes sont des variables. et les valeurs des cellules sont des corrélations entre ces variables. Diagramme de diffusion - le long de l'axe x les valeurs d'une variable, le long de l'axe y - une autre.

Nettoyage des données


Après avoir examiné les données, elles doivent être nettoyées et éventuellement transformées. À ce stade, nous devons obtenir une réponse à la question: comment devons-nous préparer les données afin de les utiliser le plus efficacement possible? Nous devons nous débarrasser des données erronées, traiter les enregistrements manquants, supprimer les doublons et nous assurer que tout est correctement formaté. À ce stade, nous définissons également un ensemble de fonctionnalités sur lesquelles l'apprentissage automatique sera développé. La qualité de l'exécution de cette étape déterminera si le signal dans les données peut être distingué pour l'algorithme d'apprentissage automatique. Si nous travaillons avec du texte, des étapes supplémentaires peuvent être nécessaires pour transformer les données non structurées en un ensemble d'attributs pouvant être utilisés dans le modèle. La préparation des données est le fondement sur lequel les prochaines étapes seront construites. Comme en cuisine, un seul ingrédient gâté ou non pelé peut ruiner tout le plat. Toute négligence dans la manipulation des données peut conduire au fait que le modèle ne montrera pas de bons résultats et devra revenir en arrière de quelques étapes.


Supprimer les entrées indésirables


L'une des premières opérations de nettoyage des données consiste à supprimer les enregistrements inutiles. Il comprend deux étapes: la suppression des entrées en double ou erronées. Nous avons trouvé des valeurs erronées au stade précédent, lorsque nous avons étudié les valeurs aberrantes et atypiques. Nous pourrions obtenir des données en double à la réception de données similaires provenant de diverses sources.

Correction d'erreurs structurelles


Il y a des cas fréquents où les mêmes catégories peuvent être nommées différemment (pire, lorsque différentes catégories ont le même nom): par exemple, dans les données ouvertes du gouvernement de Moscou, les données de construction sont présentées trimestriellement, mais le volume total pour l'année est signé comme une année, et en certains enregistrements sont désignés comme 4e trimestre. Dans ce cas, nous restaurons les valeurs de catégorie correctes (si possible).

Si vous devez travailler avec des données de texte, vous devez au moins effectuer les manipulations suivantes: supprimer les espaces, supprimer toute la mise en forme, aligner la casse, corriger les fautes d'orthographe.

Élimination des valeurs aberrantes


Pour les tâches d'apprentissage automatique, les données de l'échantillon ne doivent pas contenir de valeurs aberrantes et doivent être aussi normalisées que possible, de sorte que les valeurs limites d'unité doivent être supprimées.

Gestion des données manquantes


Travailler avec des données manquantes est l'une des étapes les plus difficiles à nettoyer. L'absence d'une partie des données, en règle générale, est un problème pour la plupart des algorithmes, vous devez donc soit ne pas utiliser les enregistrements où une partie des données est manquante, ou essayer de restaurer les enregistrements manquants en fonction d'hypothèses sur la nature des données. Dans le même temps, nous comprenons que combler les lacunes dans les données (quelle que soit la façon dont nous le faisons) n'est pas ajouter de nouvelles informations, mais simplement une béquille qui vous permet d'utiliser plus efficacement le reste des informations. Les deux approches ne sont pas si virulentes, car en tout cas, on perd des informations. Cependant, le manque de données peut être un signal en soi. Par exemple, nous examinons les données de ravitaillement et le manque de données de capteur peut être un signe clair d'une violation.

Lorsque vous travaillez avec des données catégorielles, le mieux que nous puissions faire avec les données manquantes de ce type est de les marquer comme «manquantes». Cette étape consiste en fait à ajouter une nouvelle classe de données catégorielles. Une manière similaire consiste à traiter les données manquantes de type numérique: vous devez en quelque sorte marquer les données manquantes, par exemple, remplacer les données manquantes par zéro. Mais vous devez garder à l'esprit que zéro ne correspond pas toujours. Par exemple, nos données sont des lectures de compteur et l'absence de lectures ne peut pas être confondue avec de vrais zéros dans les valeurs de données.

Outils de nettoyage des données


En règle générale, le nettoyage des données n'est pas un événement ponctuel; nous devrons très probablement ajouter de nouvelles données à l'échantillon, qui devront à nouveau être passées par les procédures de nettoyage développées. Pour optimiser le processus, il est agréable d'utiliser des applications spécialisées (en plus, bien sûr, d'Excel 'I, qui peut également être utile), par exemple:

  • Talend Data Preparation est une application de bureau gratuite avec une interface visuelle qui simplifie et automatise les tâches de nettoyage des données: elle vous permet de construire un pipeline de traitement de données personnalisé. Vous pouvez utiliser une variété de sources de données avec Talend, y compris des fichiers csv ou des données Excel.
  • OpenRefine Cet outil s'appelait auparavant Google Affiner ou Freebase Gridworks. Maintenant OpenRefine est une application de bureau populaire pour nettoyer et convertir les formats de données.
  • Trifacta Wrangler - une application de bureau qui vous permet de travailler avec des types de données complexes, est également utile pour l'analyse exploratoire des données. Il ne nécessite pas de formation spéciale des utilisateurs.

Bien sûr, le pipeline de nettoyage des données peut être implémenté dans n'importe quel langage de programmation pratique - de Python à Scala, l'essentiel est que le traitement prenne un temps acceptable.


Et enfin ...


Après avoir nettoyé et transformé les données, il peut s'avérer que les données ne sont pas suffisantes, il est donc normal que vous deviez revenir à l'étape d'obtention des données à partir de cette étape, ajouter plus de valeurs à la sélection ou rechercher de nouvelles sources de données. C'est normal.


Conclusion


Oui, la préparation des données n'est pas une tâche facile, parfois même douloureuse, mais les efforts déployés à ce stade seront multipliés par 100 lors du démarrage du modèle: il y a des cas où même les modèles simples montrent rapidement d'excellents résultats et nécessitent un étalonnage minimal s'ils fonctionnent sur des données bien préparées.

J'espère que l'article vous a été utile.

PS: Les produits utilisés pour les illustrations n'ont pas été endommagés, mais ont été utilisés conformément à leur destination!

Source: https://habr.com/ru/post/fr470650/


All Articles