Prétraitement des données dans l'exploration de données : étapes, imputation des valeurs manquantes, normalisation des données
Publié: 2020-12-30La partie la plus chronophage du travail d'un Data Scientist consiste à préparer et à prétraiter les données disponibles. Les données que nous obtenons dans des scénarios réels ne sont pas propres et ne conviennent pas à la modélisation. Les données doivent être nettoyées, amenées à un certain format et transformées avant d'alimenter les modèles d'apprentissage automatique.
A la fin de ce tutoriel, vous saurez ce qui suit
- Pourquoi le prétraitement des données
- Nettoyage des données
- Imputation de la valeur manquante
- Normalisation des données
- Discrétisation
Table des matières
Pourquoi le prétraitement des données ?
Lorsque les données sont récupérées en supprimant des sites Web et en les recueillant à partir d'autres sources de données, elles sont généralement pleines de divergences. Il peut s'agir de problèmes de formatage, de valeurs manquantes, de valeurs et de texte erronés et même d'erreurs dans les données. Plusieurs étapes de prétraitement doivent être effectuées pour s'assurer que les données qui alimentent le modèle sont à la hauteur afin que le modèle puisse les apprendre et les généraliser.
Nettoyage des données
La première étape, et la plus essentielle, consiste à nettoyer les irrégularités dans les données. Sans faire cette étape, nous ne pouvons pas donner beaucoup de sens aux statistiques des données. Il peut s'agir de problèmes de formatage, de valeurs parasites et de valeurs aberrantes.
Problèmes de formatage
Nous avons besoin que les données soient dans un format tabulaire la plupart du temps, mais ce n'est pas le cas. Les données peuvent avoir des noms de colonne manquants ou incorrects, des colonnes vides. De plus, lorsqu'il s'agit de données non structurées telles que des images et du texte, il devient extrêmement essentiel d'obtenir les données 2D ou 3D chargées dans Dataframes pour la modélisation.
Valeurs inutiles
De nombreuses instances ou colonnes complètes peuvent avoir certaines valeurs parasites ajoutées à la valeur requise réelle. Par exemple, considérons une colonne "rang" qui a des valeurs telles que : "#1", "#3", "#12", "#2" etc. Maintenant, il est important de supprimer tous les "#" précédents caractères pour pouvoir fournir la valeur numérique au modèle.
Valeurs aberrantes
Souvent, certaines valeurs numériques sont trop grandes ou trop basses par rapport à la valeur moyenne de la colonne spécifique. Ceux-ci sont considérés comme des valeurs aberrantes. Les valeurs aberrantes nécessitent un traitement spécial et sont un facteur sensible à traiter. Ces valeurs aberrantes peuvent être des erreurs de mesure ou elles peuvent également être des valeurs réelles. Ils doivent être complètement supprimés ou traités séparément car ils peuvent contenir de nombreuses informations importantes.
Valeurs manquantes
Il est rare que vos données contiennent toutes les valeurs pour chaque instance. De nombreuses valeurs sont manquantes ou remplies d'entrées inutiles. Ces valeurs manquantes doivent être traitées. Ces valeurs peuvent avoir plusieurs raisons pour lesquelles elles peuvent être manquantes. Ils peuvent être manquants pour une raison telle qu'une erreur de capteur ou d'autres facteurs, ou ils peuvent également manquer complètement au hasard.
Lire : Projets d'exploration de données en Inde
Goutte
Le moyen le plus simple et le plus simple consiste à supprimer les lignes où les valeurs manquent. Cela présente de nombreux inconvénients, comme la perte d'informations cruciales. Il peut être judicieux de supprimer les valeurs manquantes lorsque la quantité de données dont vous disposez est énorme. Mais si les données sont moindres et qu'il y a beaucoup de valeurs manquantes, vous avez besoin de meilleures façons de résoudre ce problème.
Imputation moyenne/médiane/mode
Le moyen le plus rapide d'imputer les valeurs manquantes consiste simplement à imputer la valeur moyenne de la colonne. Cependant, elle présente des inconvénients car elle perturbe la distribution originelle des données. Vous pouvez également imputer la valeur médiane ou la valeur du mode qui est généralement meilleure que la moyenne simple.
Interpolation linéaire & KNN
Des moyens plus intelligents peuvent également être utilisés pour imputer les valeurs manquantes. 2 d'entre elles sont des interpolations linéaires utilisant plusieurs modèles en traitant la colonne avec des valeurs vides comme la caractéristique à prédire. Une autre façon consiste à utiliser le clustering par KNN. KNN crée des clusters des valeurs d'une caractéristique particulière, puis attribue la valeur la plus proche du cluster.
Normalisation des données
Dans un ensemble de données avec plusieurs caractéristiques numériques, toutes les caractéristiques peuvent ne pas être à la même échelle. Par exemple, une caractéristique "Distance" a des distances en mètres telles que 1300, 800, 560, etc. Et une autre caractéristique "temps" a des heures en heures telles que 1, 2,5, 3,2, 0,8, etc. sont alimentés au modèle, il considère l'entité avec des distances d'autant plus pondérée que ses valeurs sont grandes. Pour éviter ce scénario et avoir une convergence plus rapide, il est nécessaire de mettre toutes les fonctionnalités à la même échelle.
Normalisation
Une façon courante de mettre à l'échelle les fonctionnalités consiste à les normaliser. Il peut être implémenté à l'aide du normalisateur de Scikit-learn. Cela ne fonctionne pas sur les colonnes, mais sur les lignes. La normalisation L2 est appliquée à chaque observation afin que les valeurs d'une ligne aient une norme unitaire après mise à l'échelle.

Mise à l'échelle min max
La mise à l'échelle Min Max peut être implémentée à l'aide de la classe Min MaxScaler de Scikit-learn. Il soustrait la valeur minimale des caractéristiques, puis divise par la plage, où la plage est la différence entre le maximum d'origine et le minimum d'origine. Il préserve la forme de la distribution d'origine, avec une plage par défaut de 0-1.
Mise à l'échelle standard
Standard Scaler peut également être implémenté à l'aide de la classe Scikit-learn. Il normalise une caractéristique en soustrayant la moyenne, puis en la mettant à l'échelle de la variance unitaire, où la variance unitaire signifie la division de toutes les valeurs par l'écart type. Il rend la moyenne de la distribution égale à 0 et l'écart type égal à 1.
Discrétisation
Souvent, les données ne sont pas sous forme numérique plutôt que sous forme catégorique. Par exemple, considérez une caractéristique « température » avec des valeurs comme « Élevée », « Faible », « Moyenne ». Ces valeurs textuelles doivent être codées sous forme numérique pour permettre au modèle de s'entraîner.
Données catégorielles
Les données catégorielles sont codées par étiquette pour les mettre sous forme numérique. Ainsi, "Élevé", "Moyen" et "Faible" peuvent être codés par étiquette à 3, 2 et 1. Les caractéristiques catégorielles peuvent être nominales ou ordinales. Les traits catégoriques ordinaux sont ceux qui ont un certain ordre. Par exemple, dans le cas ci-dessus, on peut dire que 3>2>1 car les températures peuvent être mesurées/quantifiées.
Cependant, dans un exemple où une caractéristique de "Ville" qui a des valeurs comme "Delhi", "Jammu" et "Agra", ne peut pas être mesurée. En d'autres termes, lorsque nous les étiquetons encoder comme 3, 2, 1, nous ne pouvons pas dire que 3> 2> 1 parce que "Delhi" > "Jammu" n'aura pas beaucoup de sens. Dans de tels cas, nous utilisons One Hot Encoding.
Données continues
Les entités avec des valeurs continues peuvent également être discrétisées en regroupant les valeurs dans des groupes de plages spécifiques. Le regroupement consiste à convertir une caractéristique numérique ou continue en un ensemble discret de valeurs, en fonction des plages de valeurs continues. Cela est pratique lorsque vous souhaitez voir les tendances en fonction de la plage dans laquelle se situe le point de données.
Par exemple, disons que nous avons des notes pour 7 enfants allant de 0 à 100. Maintenant, nous pouvons attribuer les notes de chaque enfant à un « casier » particulier. Nous pouvons maintenant diviser en 3 bacs avec des plages de 0 à 50, 51-70 et 71-100 appartenant respectivement aux bacs 1, 2 et 3. Par conséquent, la fonctionnalité ne contiendra désormais qu'une seule de ces 3 valeurs. Pandas propose 2 fonctions pour réaliser le binning rapidement : qcut et cut.
Pandas qcut prend en compte le nombre de quantiles et divise les points de données de chaque bac en fonction de la distribution des données.
Pandas cut, en revanche, prend en compte les plages personnalisées que nous avons définies et divise les points de données dans ces plages.
Lecture connexe : Prétraitement des données dans l'apprentissage automatique
Apprenez des cours de science des données dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Conclusion
Le prétraitement des données est une étape essentielle de toute tâche d'exploration de données et d'apprentissage automatique. Toutes les étapes dont nous avons discuté ne sont certainement pas toutes, mais couvrent la majeure partie de la partie fondamentale du processus. Les techniques de prétraitement des données sont également différentes pour les données NLP et Image. Assurez-vous d'essayer des exemples des étapes ci-dessus et de les implémenter dans votre pipeline d'exploration de données.
Si vous êtes curieux d'en savoir plus sur la science des données, consultez le diplôme PG de IIIT-B & upGrad en science des données qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1- on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.
Qu'est-ce que le prétraitement des données et quelle est sa signification ?
Il s'agit d'une technique pour fournir les données brutes non structurées qui se présentent sous forme d'images, de textes, de vidéos. Ces données sont d'abord prétraitées pour éliminer les incohérences, les erreurs et les redondances afin qu'elles puissent être analysées ultérieurement.
Les données brutes sont transformées en données pertinentes compréhensibles par les machines. Le prétraitement des données est une étape importante pour transformer les données pour la modélisation. Sans traitement, il est pratiquement inutile.
Quelles sont les étapes du prétraitement des données ?
Le prétraitement des données implique différentes étapes pour compléter l'ensemble du processus. Les données sont d'abord nettoyées pour éliminer les bruits et remplir les valeurs manquantes. Après cela, les données sont intégrées à partir de plusieurs sources pour être combinées en un seul ensemble de données. Ces étapes sont ensuite suivies d'une transformation, d'une réduction et d'une discrétisation.
La transformation des données brutes consiste à normaliser les données. La réduction et la discrétisation traitent essentiellement de la réduction des attributs et des dimensions des données. Ceci est suivi par la compression de ce grand ensemble de données.
Quelle est la différence entre les méthodes univariées et multivariées ?
La méthode univariée est la méthode la plus simple pour traiter une valeur aberrante. Il ne passe en revue aucune relation puisqu'il s'agit d'une seule variable et son objectif principal est d'analyser les données et de déterminer le modèle qui y est associé. La moyenne, la médiane et le mode sont des exemples de modèles trouvés dans les données univariées.
D'autre part, la méthode multivariée consiste à analyser trois variables ou plus. Elle est plus précise que la méthode précédente puisque, contrairement à la méthode univariée, la méthode multivariée traite des relations et des modèles. L'arbre additif, l'analyse de corrélation canonique et l'analyse de cluster sont quelques-unes des façons d'effectuer une analyse multivariée.
