Utilisation de Panda Profiling pour l'Analyse de Données

Automatiser l'analyse exploratoire préliminaire
Vidéo non disponible ! Réessayez plus tard
Cette vidéo fait partie de la formation
Maîtrisez Python : Analyse et visualisations des données
Revoir le teaser Je m'abonne
3,5
Transcription

Description Programme Avis
3,5

Les objectifs de cette vidéo sont de:

  • Installer et configurer Panda Profiling
  • Générer des rapports détaillés de données
  • Interpréter les statistiques et corrélations fournies par le rapport

Découvrez comment installer et configurer Panda Profiling pour générer des rapports complets sur vos données dans Google Collaboratory.

Dans cette leçon, nous explorons en détail l'utilisation de la librairie Panda Profiling pour faciliter l'analyse de données en Python. Après avoir discuté de l'installation de ce module, notamment dans Google Collaboratory où il nécessite une mise à jour spécifique, nous passons en revue les étapes essentielles pour générer un rapport de données exhaustif. Vous apprendrez à créer un ProfileReport, à configurer ses paramètres et à visualiser le rapport directement dans votre notebook.

Nous examinons également comment interpréter les différentes sections du rapport, telles que les statistiques globales, les warnings, les corrélations entre les variables ainsi que les détails spécifiques pour chaque colonne de votre jeu de données. Le rapport HTML généré peut être exporté pour un partage facilité, bien que nous déconseillons de le convertir directement en PDF en raison de la volumétrie.

En fin de leçon, nous abordons l'importance de la lecture des coefficients de corrélation et comment ces analyses peuvent vous fournir des insights cruciaux pour vos travaux statistiques et analytiques.

Voir plus
Questions réponses
Pourquoi est-il nécessaire de forcer la mise à jour de Panda Profiling dans Google Collaboratory?
Parce que la version disponible n'est pas à jour et nécessite une commande spéciale pour la mise à niveau.
Quels sont les principaux paramètres de la fonction ProfileReport?
Les principaux paramètres incluent: la source de données sous forme de DataFrame, le titre du rapport, et les configurations HTML pour adapter le rendu visuel.
Comment pouvez-vous exporter le rapport généré?
Le rapport peut être exporté sous forme de fichier HTML en utilisant la fonction Profile.to_file().
Dans la vidéo précédente, nous avons commencé à explorer notre jeu de données, notamment en calculant des indices statistiques et en évaluant des corrélations entre les variables. Heureusement pour vous, l'écosystème Python a développé un ensemble de librairies et de modules pour vous aider à rassembler ces informations au sein de rapports complets. Parmi ces modules, on va installer et utiliser celui qui s'appelle Panda Profiling. Comme d'habitude, on fait l'import de ressources, on récupère le fichier .csv et on en fait un DataFrame. Je parle d'installation de Panda Profiling. C'est une situation assez exceptionnelle dans cette formation, dans le sens où, si ce module existe bien dans Google Collaboratory, il n'est malheureusement pas à jour. Exceptionnellement, nous allons exécuter une instruction spéciale pour forcer la mise à jour du module. pip install panda-profiling-upgrade Après la première exécution de cette cellule, en appuyant sur le petit play, vous pouvez tout à fait supprimer cette cellule. Il n'est pas nécessaire de réinstaller encore et encore à chaque fois la version de Panda Profiling. Une fois ceci fait, on va passer au fonctionnement général de ce module, qui est facile à configurer, il a beaucoup d'options. Ce qu'on remarque dans la pratique, et notamment quand on l'utilise dans un notebook, c'est qu'on a une configuration qui est la plus optimisée possible, et c'est celle que je vais vous présenter. Pour générer ce rapport, on va utiliser l'objet ProfileReport de la librairie, qui accepte de nombreux paramètres, mais surtout trois. Le premier étant la source de données à analyser, sous forme de DataFrame Panda, Panda Profiling Panda, logique. Le deuxième paramètre, c'est le paramètre title, qui permet de définir le titre du rapport. Et enfin, on va utiliser un troisième paramètre, HTML, qui va permettre d'adapter le rendu visuel du rapport. Alors, il n'est pas question ici de faire du HTML ou du CSS, évidemment, ce n'est pas le cadre de ce cours, mais voici la configuration qu'il faut utiliser. HTML, avec en valeur un dictionnaire, qui accepte style, lui-même accédant un dictionnaire, full-width à trous. Une fois ceci fait, on déclare l'objet Profile, un ProfileReport, on va appliquer la fonction ToNotebookIframe, qui va adapter le rendu visuel de notre rapport au notebook, Google Collaboratory. Et enfin, une dernière instruction qui n'est pas toujours obligatoire, mais que j'avais envie de vous présenter, c'est la fonction ProfileToFile, qui permet d'exporter le rapport obtenu visuellement dans votre notebook, dans Google Collaboratory, directement sous forme d'un fichier HTML que vous pouvez partager par mail ou consulter directement dans votre navigateur. Alors, avant de commencer l'analyse de ce rapport, je vais vous parler à nouveau de l'endroit où vous pouvez récupérer ce fichier. Tous les fichiers vont être dans ce dossier, le dossier Fichier, et vont se retrouver à la racine. Vous pourrez télécharger, renommer, voire supprimer le fichier. Voilà. Donc, je vais passer sur ce fichier exporté, qui aura l'avantage d'être un petit peu plus visuel, et nous allons pouvoir commencer la découverte de ce rapport. Donc, comme vous pouvez le voir, beaucoup, beaucoup d'informations qui sont avec différentes sections, donc il y a une vue générale, les variables, les interactions, les corrélations, les valeurs manquantes, un exemple d'information, l'équivalent de ce qu'on verrait dans le head de Panda, par exemple, et des duplications, s'il y en a. Donc, commençons par l'overview. On a des statistiques globales sur l'ensemble de notre jeu de données. Déjà, on a des variables de type catégorical, c'est-à-dire des données qui sont textuelles, mais qui ont apparemment un usage particulier, et on va avoir des données qui sont numériques, et on va avoir des données qui sont de type date. Donc ça, c'est important de le comprendre. Ensuite, on a 20 variables. 20 variables, ça veut dire qu'on a 20 colonnes dans le jeu de données, et on a plus de 9.990 observations. Une observation, c'est une ligne, une entrée dans notre jeu de données. On a des missing cells, c'est-à-dire des entrées qui sont miss. Ça ne correspond que très peu de notre échantillon de données, ce qui est une bonne nouvelle. On a une ligne qui est dupliée, ce qui correspond à très peu de notre jeu de données, et ça, c'est ce que ça nous a coûté en termes de performance logicielle pour générer ce rapport. Avant de passer aux variables, on va passer aux warnings. Je trouve ça toujours intéressant de dire ça, puisque ça nous permet de comprendre les problèmes que pourrait avoir notre jeu de données. Typiquement, ici, dans les warnings, nous avons country as constant value, united states. Alors, qu'est-ce que ça veut dire ? Ça veut dire qu'au final, la colonne country n'a qu'une seule valeur, et sa valeur, c'est united states. Donc, ça pose la question de savoir si on garde cette valeur ou pas. Est-ce que c'est un bug ? Si ce n'est pas un bug, est-ce qu'on en a besoin ? Est-ce qu'on a besoin de remplir une colonne complète avec une seule valeur ? Ou est-ce qu'on va estimer que finalement, on sait que c'est les Etats-Unis, et donc supprimer cette colonne ? Ensuite, on a une colonne number of records, qui est une constante de 1. Et là, pareil. Pour le coup, pas grand intérêt dans le cas d'une analyse, et peut-être que cette colonne, cette variable, devrait être supprimée du jeu de données à analyser. On a quelques duplications. Une, c'est très peu. Il faudra investiguer, et c'est ce que nous avons fait précédemment, pour comprendre pourquoi nous avons les duplications. Ensuite, les villes, 531 valeurs distinctes. Ça me semble logique. 531 villes ont été analysées dans les ventes, donc pourquoi pas ? Aucun souci avec ça. Pareil pour le nom du client, le customer name, avec 793 valeurs distinctes. Tout à fait logique. Le order ID, il a une haute cardinalité aussi, c'est-à-dire qu'il y a beaucoup de valeurs différentes, avec 5009 valeurs distinctes. Et là, c'est assez curieux, puisque nous savons qu'il y a plus de 9000 entrées dans notre échantillon, et du coup, on se serait peut-être attendu à plus de 9000 order ID, et ce n'est pas le cas. C'est assez intéressant à savoir. Et ainsi de suite. Vous pouvez creuser, et apprendre des choses dans cette section sur le jeu de données que l'on manipule. Notamment, on a des premières informations ici, récapitulées sur les corrélations possibles entre différentes variables. Typiquement, il y aurait une corrélation forte entre le pays et le mode de livraison, entre country et shipment. On a aussi une corrélation forte, qui est assez logique, entre region et state, entre region et state, et c'est assez normal. On va avoir quelque chose d'intéressant aussi, c'est que la sous-catégorie de produits est fortement corrélée avec le pays. Et ça, c'est assez bizarre, sachant que le pays n'a qu'une seule valeur. Et donc, ainsi de suite, en parcourant ces différents warnings, on va apprendre des choses sur notre jeu de données. Ensuite, on peut, variable par variable, c'est-à-dire colonne par colonne de notre dataset, de notre data frame, apprendre des choses. Typiquement, dans les catégories, on a l'information suivante, qui est déjà, on va dire, visualisée. On a beaucoup, beaucoup de produits, plutôt beaucoup, beaucoup de commandes qui font partie de la catégorie office supplies. Et on en a beaucoup moins pour furniture, et encore beaucoup moins pour technologie. En cliquant sur Toggle Details, on va en apprendre beaucoup plus sur chacune des variables de notre data frame, notamment la taille maximale des caractères, des notions de catégories, et notamment une représentation visuelle sous forme de distribution, mais aussi sous forme de camembert, des différentes valeurs possibles dans ce contexte, des mots, des mots qui peuvent être liés à ces catégories, et enfin, les caractères. Alors, cette partie caractères et words, hormis dans le cadre de l'analyse de texte, un peu avancée, n'aura pas beaucoup de valeur pour vous, mais c'est bon de savoir que c'est disponible. Pour chacune de ces variables, évidemment, on va avoir un certain nombre d'informations, et ça va dépendre de trois choses. La première, est-ce que cette variable est textuelle ? Est-ce que cette variable est numérique ? Est-ce que cette variable est une date ? Si c'est une date, notamment on pourrait aller dans OrderDate, on va avoir une représentation qui est adaptée au type de données que l'on manipule. Typiquement, ici, on peut voir la représentation de la fréquence du nombre de commandes par date. Et ça, c'est assez intéressant, parce qu'on n'a pas encore attaqué à ce stade la visualisation de données, et on a déjà quelques éléments, notamment des éléments de saisonnalité, avec des maximums locaux, ici, qui apparaissent, a priori, à l'intervalle régulier. Alors, on n'ira pas plus loin dans l'analyse, je vous laisserai faire vos propres conclusions sur le rapport que vous allez générer et analyser de votre côté, et je vais revenir sur ce rapport HTML. Ce rapport HTML, on pourrait tenter d'en faire un PDF. Pour en faire un PDF, la librairie elle-même ne le permet pas, mais vous pouvez toujours utiliser l'option imprime écran de votre ordinateur. Dans la pratique, je pense que c'est une mauvaise idée. Alors, c'est une mauvaise idée, pourquoi ? Alors, si c'est un cas particulier, dans le sens où votre jeu de données a beaucoup beaucoup de variables, il en a 20, et donc ça va générer un rapport de 230 pages. Alors, hormis le fait que jamais personne ne lira un rapport de 230 pages, je trouve que le rendu n'est pas à la hauteur de ce qu'on pourrait attendre dans l'environnement, on va dire, d'entreprise. Donc, si vous souhaitez partager les informations qu'il y a dans ce rapport, ce qu'il est plus intéressant de faire, ça va plutôt être de prendre les images qui vous intéressent et de les imprimer, de les découper, de les copier-coller et de les mettre dans vos propres documents au format Word, au format PowerPoint, et donc d'établir votre propre rapport, finalement, en fonction des informations que vous aurez apprises. Dernière information sur Panda Profiling, une information qui peut être intéressante pour vous, ce sont les corrélations en détail. Donc, on n'a pas trop creusé les différents coefficients de corrélation, on a parlé du coefficient de personne dans une vidéo précédente, sachez qu'il y a d'autres coefficients de corrélation qui correspondent à d'autres algorithmes mathématiques et statistiques et donc, le fait d'avoir accès à différents calculs peut peut-être vous donner des informations que vous n'auriez pas obtenues précédemment. Comment on peut lire ce type de carte de chaleur, ce type de visualisation ? En fait, plus la valeur va être forte, plus la corrélation va être établie positivement sur les deux valeurs, c'est-à-dire grosso modo, ici, nous allons avoir le profit avec les sales et donc, on peut dire que plus les sales augmentent, plus le profit augmente puisque le coefficient de relation est supérieur à 0 et qu'il est significatif, dans le sens où il est plutôt à 0.50 ou 0.60. A contrario, ici, nous avons la case Profit et le Discount. Cette corrélation est plutôt négative et donc, ce que l'on peut dire c'est que plus le Discount est grand, plus le Profit est faible. Ce qui vous semble logique, évidemment, mais c'est super intéressant de voir que mathématiquement et statistiquement, c'est prouvé pour ce jeu de données. Ce n'est pas toujours le cas. On pourrait avoir une situation où le fait d'établir des Discounts permet de déclencher plus de ventes et du coup, d'augmenter le Profit. Il se trouve qu'ici, ce n'est pas le cas. Et donc, c'est de cette façon-là qu'on va pouvoir lire ces tables de corrélation que l'on a dans ce cas-là avec une notion qu'il ne faut pas oublier, c'est que quand c'est proche de 0, ça veut dire qu'il n'y a finalement aucune corrélation significative entre deux variables. Typiquement, il n'y a pas de corrélation entre la quantité d'objets vendus et le code postal du client.
4 commentaires
3,5
4 votes
5
4
3
2
1
elephorm-1464076@addviseo.com
Il y a 3 months
Commentaire
Bonne formation mais vraiment dommage de ne pas avoir au moins les liens des supports de cours.
nicolasmichaux1
Il y a 1 year
Commentaire
Bonnne formation mais aucun support de cours
lebris.gilles76
Il y a 2 years
Commentaire
Très bien , mais il manque les supports de cours
antoinem
Il y a 2 years
Commentaire
Bien mais il manque les supports de cours
Nos dernières formations Python
  • Pack 5 formations
    Pack Python : Des bases aux techniques avancées
    Découvrir
    Réputé pour être le langage de programmation le plus populaire au monde, Python est très plébiscité pour ses différentes utilisations.  A travers ce pack de 5 formations, vous apprenez les fondamentaux de la programmation Python, vous maîtrisez les techniques avancées et vous découvrez comment utiliser Python pour le web et pour l’analyse et la visualisation des données. Apprendre à programmer en Python : Apprendre les fondamentaux du langage de programmation Python. Apprendre Python : Qualité de code et maintenance : Maîtriser Python avec une qualité de code et de maintenance optimales. Maîtriser Python : Techniques avancées : Formez-vous aux différentes fonctionnalités avancées de python. Apprendre le web avec Python/ Django : Découvrez la programmation Web : Apprendre les principes fondamentaux de la programmation Web Maîtriser Python : Analyse et visualisations des données : Apprendre à utiliser Python pour l’analyse et la visualisation des données
    22h52 154 leçons
  • Apprendre Python   - Qualité de code et maintenance
    Découvrir
    Maîtriser Python avec une qualité de code et de maintenance optimales
    3h09 23 leçons
  • Maîtriser Python  - Techniques avancées
    Découvrir
  • Apprendre à programmer en Python
    Découvrir
    Apprendre les fondamentaux du langage de programmation Python
    6h33 60 leçons 4,75 / 5
  • Apprendre le Web avec Python/Django - Découvrez la programmation web
    Découvrir
    Apprendre les principes fondamentaux de la programmation Web
    4h38 32 leçons 3,50 / 5