Apprendre à utiliser Pandas Profiling

Un guide complet pour démarrer avec Pandas Profiling en utilisant Python.

Introduction

Avec l’explosion de la technologie et l’immense quantité de données et de contenus créés quotidiennement, les data scientist doivent continuellement apprendre de nouvelles façons d’analyser efficacement ces données. L’une des parties les plus cruciales de tout nouveau projet de données est la phase d’analyse exploratoire des données. En tant que spécialiste des données, cette phase vous permet d’apprendre et de vous familiariser avec les données dont vous disposez, leur provenance, les lacunes qu’elles présentent, les valeurs aberrantes potentielles et les différents types de données utilisés. Pandas Profiling est un outil devenu incontournable pour les spécialistes des données. Pandas Profiling est un outil open-source écrit en Python qui permet de générer des rapports HTML interactifs détaillant les types de données de l’ensemble de données, mettant en évidence les valeurs manquantes, fournissant des statistiques descriptives telles que la moyenne, l’écart-type et l’asymétrie, créant des histogrammes et renvoyant toute corrélation potentielle.

Installation de Pandas Profiling

Pour cet article, nous utilisons Google Colab  qui est un environnement de développement intégré créé par google. Google Colab est un excellent outil à utiliser car il gère très facilement vos notebooks.

Pour utiliser  Pandas Profiling dans Colab il vous suffit de saisir la commande suivante :

Mise en route

Pour cet exemple, nous avons créé un script Python simple. Nous allons utiliser un fichier csv que nous avons déposé sur GitHub.

Après avoir exécuté le script, un nouveau fichier HTML appelé :  pandas_profile_course_hippique.html

sera créé dans le répertoire indiqué dans votre projet. Pour visualiser le rapport, cliquez avec le bouton droit de la souris sur le fichier HTML et sélectionnez Ouvrir dans le navigateur > Défaut.

Rapport généré par Pandas Profiling

Vue d'ensemble

overview

La section Overview, la première section du rapport, présente des statistiques résumées pour l’ensemble des données. Elle renvoie le nombre de variables, qui correspond au nombre de colonnes incluses dans le DataFrame transmis. Le nombre d’observations est le nombre de lignes qui ont été reçues. La vue d’ensemble fournit également le nombre de cellules manquantes ou de lignes en double et un pourcentage du total des enregistrements qui ont été touchés.

Les statistiques sur les cellules manquantes et les rangées en double sont très importantes pour les spécialistes des données, car elles peuvent indiquer des problèmes de qualité des données ou des problèmes liés au code utilisé pour extraire les données. La section d’aperçu comprend également des données sur la taille de l’ensemble de données en mémoire, la taille moyenne des enregistrements en mémoire et les types de données reconnus.

warning

Sous l’onglet Warnings  de la section Overview, vous pouvez trouver des avertissements collationnés pour n’importe quelle variable de l’ensemble de données. Dans cet exemple, nous avons reçu un avertissement de cardinalité élevée pour M1, M2, M3, hippodrome etc. Dans ce contexte, la cardinalité élevée signifie que les colonnes qui ont été signalées contiennent un très grand nombre de valeurs distinctes, ce qui serait le cas pour le nom des hippodrome.

Les variables de type catégorie

m1 categorie

La section Variables du rapport analyse les colonnes du DataFrame transmis. Une variable catégorielle est une colonne qui contient des données représentant un type de chaîne Python.

Une métrique typique renvoyée pour les variables catégorielles est la longueur des chaînes de caractères dans la colonne. Pour visualiser l’histogramme généré, sélectionnez Toggle Details puis naviguez jusqu’à l’onglet Categories. L’onglet Overview contient également des statistiques concernant les valeurs maximale, médiane, moyenne et minimale de la longueur de la chaîne.

Variable de type numérique

nDistance

Pandas Profiling offre une analyse incroyablement approfondie des variables numériques couvrant les statistiques quantiles et descriptives. Il renvoie les valeurs minimales et maximales de l’ensemble de données et l’intervalle entre ces valeurs.

Il affiche les valeurs de quartile qui mesurent la distribution des valeurs ordonnées dans l’ensemble de données au-dessus et au-dessous de la médiane en divisant l’ensemble en quatre bacs. Lorsque l’on considère les valeurs des quartiles, si la distance entre le quartile 1 et la médiane est plus grande que celle entre la médiane et le quartile 3, cela signifie que les petites valeurs sont plus dispersées que les grandes. L’écart interquartile est simplement le résultat du quartile trois moins le quartile un.

L’écart-type reflète la distribution de l’ensemble de données par rapport à sa valeur moyenne. Un faible écart-type implique que les valeurs de l’ensemble de données sont plus proches de la moyenne, tandis qu’une valeur d’écart-type plus élevée implique que les valeurs de l’ensemble de données sont réparties sur une plus grande plage. Le coefficient de variation, également appelé écart-type relatif, est le rapport entre l’écart-type et la moyenne. Le kurtosis peut être utilisé pour décrire la forme des données en mesurant les valeurs dans les queues de la distribution par rapport à la moyenne de l’ensemble de données ordonné. La valeur du Kurtosis varie en fonction de la distribution des données et de la présence de valeurs extrêmes aberrantes.

L’écart absolu de la médiane est une autre mesure statistique qui reflète la distribution des données autour de la médiane et constitue une mesure plus robuste de la dispersion lorsqu’une valeur aberrante extrême est présente.

L’asymétrie (Skewness) reflète le niveau de distorsion par rapport à une distribution de probabilité standard en forme de cloche. Une asymétrie positive est considérée comme une asymétrie vers la droite et présente une queue plus longue à droite de la distribution et une négative à gauche.

Interaction et corrélations

interaction

C’est dans la sections Interaction que Pandas Profiling se démarque vraiment des autres outils exploratoires. Il analyse toutes les variables par paires et met en évidence toute variable fortement corrélée à l’aide des mesures de Pearson, Spearman, Kendal et Phik. Il fournit une représentation visuelle puissante et facile à comprendre de toutes les données fortement corrélées entre elles. En tant que spécialiste des données, c’est un excellent point de départ pour répondre aux questions sur les raisons de la corrélation de ces paires de données.

correlations

Valeurs manquantes

valeurs manquantes

La section Valeurs manquantes s’appuie sur la métrique des cellules manquantes de la section Aperçu. Elle représente visuellement où se trouvent les valeurs manquantes par rapport à toutes les colonnes du DataFrame. Cette section peut mettre en évidence des problèmes de qualité des données et peut exiger que les données manquantes soient mappées à une valeur par défaut que nous aborderons dans un article ultérieur.

Section échantillon

La section échantillon affiche un instantané des résultats de la tête et de la queue de l’ensemble de données. Si l’ensemble de données est ordonné sur une colonne particulière, vous pouvez utiliser cette section pour comprendre à quel type d’enregistrements sont associées les valeurs minimales et maximales de la colonne.

En résumé

Pandas Profiling est un outil open-source incroyable que tout scientifique des données devrait envisager d’ajouter à sa boîte à outils pour la phase d’exploration des données dans tout projet. Il constitue un moyen efficace de digérer et d’analyser un ensemble de données peu familier en fournissant des statistiques descriptives approfondies, des graphiques de distribution visuels et un ensemble puissant d’outils de corrélation.

Si vous voulez découvrir comment fonctionne la librairie pandas ou bien l’environnement Jupyter, n’hésitez pas à consulter les cours ci-dessous.

GCH anime

Je télécharge mon guide gratuit

.

Vous recevrez votre guide par email sans aucun engagement de votre part.

Laisser un commentaire

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