Comment j’explore et visualise des données avec Python et Seaborn
Résumé
- Seaborn est une bibliothèque de visualisation de données en Python facile à utiliser.
- L’installation est simple avec PIP ou Mamba, et l’importation de jeux de données se fait sans effort.
- Seaborn peut rapidement créer des histogrammes, des nuages de points et des régressions linéaires pour l’analyse des données.
Vous avez peut-être entendu dire que Python est idéal pour l’analyse de données. Vous cherchez un moyen de visualiser les données qui est facile à utiliser et qui produit de beaux graphiques ? Seaborn est peut-être exactement ce que vous recherchez.
Pourquoi j’ai choisi Seaborn
J’ai choisi Seaborn, une bibliothèque Python de visualisation de données créée par Michael Waskom, car elle me semblait facile à utiliser.
Je voulais explorer l'analyse de données et les statistiques en Python parce que c'est un langage populaire pour la science et l'analyse des données, et je le connaissais bien. J'avais suivi un cours de statistiques et de probabilités de base à l'université, mais plus de 20 ans plus tard, il y avait peut-être quelques points sur lesquels j'étais rouillé.
Je n'ai jamais été aussi doué pour les calculs, mais il existe de nombreux bons logiciels de statistiques et de mathématiques open source qui me permettent d'explorer des concepts sans m'enliser dans des équations et des calculs.
Matplotlib est populaire pour faire des visualisations de données avec Python, mais il peut être difficile à comprendre. Seaborn peut créer de belles intrigues et a une syntaxe simple. Je suis également armé du livre Schaum's Outline sur les statistiques.
Installation de Seaborn
Si vous utilisez déjà Python, une bonne façon d'installer Seaborn est d'utiliser PIP :
pip install seaborn
J’ai un environnement Mamba appelé « stats » contenant d’autres bibliothèques populaires comme NumPy, SciPy et Pandas.
Je l’active avec cette commande au niveau du shell
mamba activate stats
Je peux exécuter les commandes Python dans IPython ou Jupyter.
Recherche et importation de jeux de données
Pour démarrer Seaborn, importez-le à l’aide de la commande d’importation Python standard
import seaborn as sns
La convention est d’utiliser « sns » comme abréviation de « seaborn » car c’est plus court à taper.
Vous pouvez importer des données à partir de feuilles de calcul comme Excel, mais les « valeurs séparées par des virgules » ou les fichiers CSV sont également courants, en particulier pour les ensembles de données que vous trouverez en ligne. Vous pouvez lire dans ces fichiers avec la bibliothèque Pandas. Pour charger un fichier CSV dans le répertoire courant :
import pandas as pd
data = pd.read_csv("example.csv")
Seaborn dispose également de plusieurs ensembles de données déjà intégrés. Lors de l’utilisation de ces ensembles de données. Pour les afficher, utilisez la méthode get_dataset_names :
sns.get_dataset_names()
Il y en a quelques intéressants à examiner, mais nous allons utiliser un ensemble de données de conseils sur les restaurants.
Nous allons charger les données dans une trame de données Pandas :
tips = sns.load_dataset("tips")
Les trames de données sont organisées en colonnes à l’instar d’une feuille de calcul. Nous allons obtenir un aperçu des données avec la méthode head :
tips.head()
Tracer des histogrammes avec Seaborn
Un graphique de base utile est l’histogramme, qui montre comment les valeurs d’un ensemble de données sont distribuées. Regardons l'histogramme du montant total de ces chèques restaurant, la colonne « total_bill », avec la méthode displot :
sns.displot(x="total_bill",data=tips)
Vous pouvez voir qu’il ressemble presque à une courbe de distribution normale en forme de cloche, bien que la queue soit asymétrique vers la droite, avec le pic plus vers la gauche. Le champ « data= » est une fonction pratique lorsque vous travaillez avec des trames de données sans avoir à taper « tips["column"] » à chaque fois. Le nom de la trame de données est la source des données.
Réalisation de nuages de points
Une chose utile à visualiser dans un ensemble de données est de voir si les colonnes ont une relation les unes avec les autres. Une bonne façon de le faire est un nuage de points qui compare les valeurs d’une colonne à l’autre. Calculons la facture totale par rapport au pourboire :
sns.relplot(x="total_bill",y="tip",data=tips)
L’axe des x est à nouveau la facture totale et l’axe des y est le montant du pourboire.
Tracé de régressions linéaires
Si vous avez regardé de près le nuage de points, vous avez peut-être remarqué que vous auriez pu tracer une ligne droite à travers les valeurs. Cela signifie qu’il semble y avoir une relation linéaire positive puisque le montant du pourboire augmente à mesure que le montant de la facture totale augmente.
Nous pouvons tracer une droite de régression à travers ce nuage de points en utilisant la méthode regplot :
sns.regplot(x="total_bill",y="tip",data=tips)
Vous verrez un graphique similaire au nuage de points que nous avons fait précédemment, mais avec une ligne, notre modèle de la relation linéaire, dessinée par-dessus. C’est ce qu’on appelle une « régression des moindres carrés ordinaires ».
Il y a aussi une zone ombragée au-dessus et en dessous de la ligne. Il s’agit d’un intervalle de confiance, car une régression linéaire comporte toujours une certaine incertitude quant à la façon dont elle s’ajusterait sur les points de données.
Vous pouvez ajuster plus que de simples lignes droites, mais vous pouvez modéliser des courbes de cette façon, mais cela dépasse le cadre de cet article. Ce tutoriel ne fait qu’effleurer la surface de la façon dont vous pouvez visualiser et explorer les données avec Python et Seaborn.