Site icon Blog ARC Optimizer

Guide du débutant sur la visualisation des données avec Python et Seaborn


La visualisation des données est une technique qui permet aux data scientists de convertir des données brutes en graphiques et tracés qui génèrent des informations précieuses. Les graphiques réduisent la complexité des données et les rendent plus faciles à comprendre pour n'importe quel utilisateur.

Il existe de nombreux outils pour effectuer la visualisation des données, tels que Tableau, Power BI, ChartBlocks, etc., qui sont des outils sans code. Ce sont des outils très puissants et ils ont leur public. Cependant, lorsque vous travaillez avec des données brutes qui nécessitent une transformation et un bon terrain de jeu pour les données, Python est un excellent choix.

Bien que plus compliqué car il nécessite des connaissances en programmation, Python vous permet d'effectuer toute manipulation, transformation et visualisation de vos données . Il est idéal pour les scientifiques des données.

Il y a de nombreuses raisons pour lesquelles Python est le meilleur choix pour la science des données, mais l'une des plus importantes est son écosystème de bibliothèques. De nombreuses grandes bibliothèques sont disponibles pour que Python fonctionne avec des données telles que numpy pandas matplotlib [19659005] tensorflow .

Matplotlib est probablement la bibliothèque de traçage la plus reconnue, disponible pour Python et d'autres langages de programmation comme R . C'est son niveau de personnalisation et d'opérabilité qui le définit en premier lieu. Cependant, certaines actions ou personnalisations peuvent être difficiles à gérer lors de son utilisation.

Les développeurs ont créé une nouvelle bibliothèque basée sur matplotlib appelée seaborn . Seaborn est aussi puissant que matplotlib tout en fournissant une abstraction pour simplifier les graphiques et apporter des fonctionnalités uniques.

Dans cet article, nous allons Concentrez-vous sur la façon de travailler avec Seaborn pour créer les meilleures parcelles de sa catégorie. Si vous voulez continuer, vous pouvez créer votre propre projet ou simplement consulter mon seaborn guide project on GitHub.

Qu'est-ce que Seaborn?

Seaborn est une bibliothèque pour créer des graphiques statistiques en Python. Il s'appuie sur matplotlib et s'intègre étroitement aux structures de données de pandas .

Seaborn design vous permet d'explorer et de comprendre votre données rapidement. Seaborn fonctionne en capturant des cadres de données entiers ou des tableaux contenant toutes vos données et en exécutant toutes les fonctions internes nécessaires à la cartographie sémantique et à l'agrégation statistique pour convertir les données en tracés informatifs.

[Lire: Découvrez les 4 scale-ups utilisant des données pour sauver la planète ]

Installation de Seaborn

Installation seaborn est aussi simple que d'installer une bibliothèque à l'aide de votre gestionnaire de paquets Python préféré. Lors de l'installation de seaborn la bibliothèque installera ses dépendances, y compris matplotlib pandas numpy et scipy .

Installons ensuite Seaborn, et bien sûr, aussi le paquet notebook pour accéder à nos données aire de jeux.

 pipenv install seaborn notebook

De plus, nous allons importer quelques modules avant de commencer.

 import  seaborn  as  sns
 importer  pandas  comme  pd
 import  numpy  as  np
 import  matplotlib

Construire vos premiers graphiques

Avant de pouvoir commencer à tracer quoi que ce soit, nous avons besoin de données. La beauté de seaborn est qu'il fonctionne directement avec les dataframes pandas ce qui le rend très pratique. Plus encore, la bibliothèque est livrée avec des ensembles de données intégrés que vous pouvez maintenant charger à partir du code, pas besoin de télécharger manuellement les fichiers.

Voyons comment cela fonctionne en chargeant un ensemble de données contenant des informations sur les vols.

Nuage de points

Un nuage de points est un diagramme qui affiche des points en fonction de deux dimensions du jeu de données. Créer un nuage de points dans la bibliothèque Seaborn est si simple et avec une seule ligne de code.

 sns.scatterplot (data = flight_data, x = "year", y = "passagers")

Exemple de nuage de points

Très facile, non? La fonction scatterplot attend le jeu de données que nous voulons tracer et les colonnes représentant les x and y [19659010] Axe .

Graphique linéaire

Ce graphique trace une ligne qui représente la révolution de données continues ou catégorielles. C'est un type de graphique populaire et connu, et il est très facile à produire. Comme auparavant, nous utilisons la fonction lineplot avec le jeu de données et les colonnes représentant les x and y axe. Seaborn fera le reste.

 sns .  lineplot (data  = vols  _data, x  =  "year" y  =  "passagers" )

Exemple de graphique en courbes

Bar Plot

C'est probablement le type de graphique le plus connu, et comme vous l'avez peut-être prédit, nous pouvons tracer ce type de graphique avec seaborn de la même manière que nous le faisons pour les lignes et les nuages ​​de points en utilisant la fonction barplot .

 sns .  barplot (data  = vols  ] _data, x  =  "année" y  =  "passagers" )

Exemple de diagramme à barres

Il est très coloré, je sais, nous apprendrons comment le personnaliser plus tard dans le guide.

Extension avec matplotlib

Seaborn s'appuie sur matplotlib étendant sa fonctionnalité et abstraction de la complexité. Cela dit, il ne limite pas ses capacités. Toute carte seaborn peut être personnalisée en utilisant les fonctions de la bibliothèque matplotlib . Il peut être utile pour des opérations spécifiques et permet à seaborn de tirer parti de la puissance de matplotlib sans avoir à réécrire toutes ses fonctions.

Disons que vous, par exemple, voulez tracer plusieurs graphiques simultanément en utilisant seaborn ; alors vous pouvez utiliser la fonction subplot de matplotlib .

 diamonds_data  =  sns .  load_dataset ( 'diamants' )
plt .  sous-tracé ( 1  2  1 )
sns .  countplot (x  =  'carat' data  =  diamonds_data)
plt .  sous-tracé ( 1  2  2 )
sns .  countplot (x  =  'depth' data  =  diamonds_data)

Exemple de graphique avec sous-graphiques

En utilisant la fonction subplot nous pouvons dessiner plus d'un graphique sur un seul graphique. La fonction prend trois paramètres, le premier est le nombre de lignes, le second est le nombre de colonnes et le dernier est le numéro de tracé.

Nous rendons un seaborn graphique dans chaque sous-tracé, mélangeant les fonctions matplotlib avec seaborn fonctions.

Seaborn aime les Pandas

Nous en avons déjà parlé , mais seaborn aime pandas à un point tel que toutes ses fonctions s'ajoutent aux pandas [19659010] base de données. Jusqu'à présent, nous avons vu des exemples d'utilisation de seaborn avec des données préchargées, mais que se passe-t-il si nous voulons dessiner un graphique à partir de données que nous avons déjà chargées en utilisant pandas ?

 drinks_df  =  pd .  read_csv ( "data / drinks.csv" )
sns .  barplot (x  =  "country" y  =  "beer_servings" data  =  drinks_df)

Exemple de graphique avec des pandas

Création de superbes graphiques avec des styles

Seaborn vous donne la possibilité de modifier l'interface de vos graphiques et propose cinq styles différents prêts à l'emploi: darkgrid whitegrid dark white et ticks .

 sns .  set_style ( "darkgrid" )
sns .  lineplot (data  =  data, x  =   "year" y  =   "passagers" )

Exemple de graphique avec style darkgrid

Voici un autre exemple

 sns .  set_style ( "whitegrid" )
sns .  lineplot (données  = vols  _data, x  =  "année" y  =  "passagers"  )

Exemple de graphique avec style whitegrid

Cas d'utilisation intéressants

Nous connaissons les bases de seaborn mettons-les maintenant en pratique en créant plusieurs graphiques sur le même jeu de données. Dans notre cas, nous utiliserons l'ensemble de données «astuces» que vous pouvez télécharger directement en utilisant seaborn .

Commencez par charger l'ensemble de données.

  J'aime imprimer les premières lignes de l'ensemble de données pour avoir une idée des colonnes et des données elles-mêmes. Habituellement, j'utilise des fonctions   pandas   pour résoudre certains problèmes de données comme   null   valeurs et ajouter des informations à l'ensemble de données qui peuvent être utiles . Vous pouvez en savoir plus à ce sujet dans le guide   pour travailler avec les pandas  . 

Créons une colonne supplémentaire à l'ensemble de données avec le pourcentage qui représente le montant du pourboire sur le total de le projet de loi.

Ensuite, nous pouvons commencer à tracer des graphiques.

Comprendre les pourcentages de pourboire

Essayons d'abord de comprendre le pourcentage de pourboire Distribution. Pour cela, nous pouvons utiliser histplot qui générera un histogramme.

 sns .  histplot (tips_df [ "tip_percentage"  ]binwidth  =  0,05 )

Comprendre le graphique des pourcentages de pourboire

C'est bien, nous avons dû personnaliser la propriété binwidth pour la rendre plus lisible, mais maintenant nous pouvons rapidement apprécier notre compréhension des données. La plupart des clients donneraient un pourboire de 15 à 20%, et nous avons des cas extrêmes où le pourboire est supérieur à 70%. Ces valeurs sont des anomalies, et elles valent toujours la peine d'être explorées pour déterminer si les valeurs sont des erreurs ou non.

Il serait également intéressant de savoir si le pourcentage de pourboire change en fonction du moment de la journée,

 sns  ].  histplot (data  =  tips_df, x  =  "tip_percentage" binwidth  =  0,05 hue  =  "heure" )

Comprendre les pourcentages de pointe par graphique temporel

Cette fois, nous avons chargé le graphique avec le jeu de données complet au lieu d'une seule colonne, puis nous avons défini la propriété hue sur la colonne heure . Cela forcera le graphique à utiliser des couleurs différentes pour chaque valeur de time et y ajoutera une légende.

Total des conseils par jour de la semaine

Une autre métrique intéressante est de savoir à combien d'argent en pourboires le personnel peut s'attendre selon le jour de la semaine.

 sns .  barplot (data  =  tips_df, x  =  ] "day" y  =  "tip" estimateur  =  np .  sum)

Comprendre les pourcentages de pourboire par jour

Il semble que vendredi soit un bon jour pour rester à la maison.

Impact de la taille et du jour de la table sur le pourboire

Parfois, nous voulons comprendre comment les variables jouent ensemble pour déterminer la sortie. Par exemple, quel est l'impact du jour de la semaine et de la taille de la table sur le pourcentage de pourboire?

Pour dessiner le graphique suivant, nous combinerons la fonction pivot des pandas à pré- traiter les informations, puis dessiner une carte thermique.

 pivot  =  tips_df .  pivot_table (
    index  =  [ "jour" ],
    colonnes  =  [ "taille" ],
    valeurs  =  "tip_percentage" ,
    aggfunc  =  np .  moyenne)
sns .  heatmap (pivot)

Comprendre les pourcentages de pourboire par jour et la taille de la table

Conclusion

Bien sûr, nous pouvons faire beaucoup plus avec seaborn et vous pouvez en apprendre davantage sur les cas d'utilisation en visitant le documentation officielle . J'espère que vous avez apprécié cet article autant que j'ai aimé l'écrire.


Cet article a été initialement publié sur Live Code Stream par Juan Cruz Martinez ( twitter: @bajcmartinez ), fondateur et éditeur de Live Code Stream, entrepreneur, développeur, auteur, orateur et faiseur de choses.

Live Code Stream est également disponible sous forme de bulletin hebdomadaire gratuit. Inscrivez-vous pour recevoir des mises à jour sur tout ce qui concerne la programmation, l'IA et l'informatique en général.






Source link
Quitter la version mobile