CSC 4538 – Introduction à la science des données

Portail informatique

CI7 : Visualisation de données

Visualiser un jeu de données de manière efficace pour transmettre un message.

Visualisation de données (∼60mn, – medium)

Dans cet exercice, nous allons nous entrainer à visualiser des données à l'aide de Plotly.

Un outil très utilisé pendant la phase d'exploration et de visualisation de données est le notebook Jupyter. Il s'agit d'une page web qui permet d'exécuter du code Python, afficher des images, ajouter des titres et sections, ... Pour l'installer, il faut passer par pip :
pip install jupyter
Vous pouvez ensuite lancer le server du jupyter notebook avec la commande :
jupyter notebook
À partir de là, soit votre navigateur va s'ouvrir avec la page d'accueil de Jupyter, soit il faudra suivre le lien donné dans le terminal.
Pycharm a un plugin permettant d'utiliser le notebook directement dans Pycharm, mais je trouve que c'est moins pratique qu'utiliser le navigateur.

Créez un nouveau notebook en cliquant sur New Python 3. Un nouveau fichier se crée qui pour l'instant ne contient qu'une case vide. Cette case peut contenir du Python (dans la barre du haut, vous pouvez voir que le type de la case est Code). Écrivez du Python dans cette case, par exemple 1+1. Pour l'exécuter, il vous faut presser le bouton Run en haut, ou alors, ce qui est plus pratique, utiliser le raccourci Ctrl + Entrée (reste sur la case) ou Maj + Entrée (passe à la case suivant, potentiellement en créant une nouvelle case).
Vous devriez observer que deux variables/listes sont créées automatiquement : In[1] et Out[1]. Elles contiennent respectivement le texte de la case et la sortie de la case (ce qui est souvent le plus utile).
Dans les boutons en haut du notebook, le + est un des plus utilisés pour créer une nouvelle case. Cependant, vous pouvez aussi utiliser les raccourcis a (above) et b (below) pour créer une case avant ou après la case actuelle.

Il est possible d'exécuter des commandes du terminal directement dans le notebook. Pour cela, il faut faire précéder la commande d'un point d'exclamation. Cela est très pratique pour installer des bibliothèques. Pour aujourd'hui, nous avons besoin de la bibliothèque Plotly. Installez-la avec :
! pip install plotly
De même, installez une bibliothèque appelée pandas.

La bibliothèque Pandas permet de charger des données tabulaires et de les manipuler. Elle donne accès à de nombreuses fonctionnalités. Voilà quelques exemples utiles en Python d'utilisation de Pandas.
import pandas as pd # Souvent abrévié # On charge les données qui sont dans un fichier csv df = pd.read_csv("mon_fichier.csv") # On accède à une colonne couleurs = df["couleur"] # On itère sur les lignes for index, row in df.iterrows(): column = row["couleur"]

La suite du TP est à rendre par mail sous la forme d'un notebook exporté en PDF.

Télécharger un dataset de votre choix. Parmi les sources possibles, vous pouvez chercher sur Kaggle ou Google Dataset Search . Prenez des données tabulaires représentant si possible des séries temporelles numériques (pas d'images et limiter au maximum les textes).

Charger les données avec Pandas.

Pour chacun des types de graphes vus en cours (Heatmap, Nuage de points, lignes, diagrammes à bande), visualisez, en utilisant Plotly, un aspect (si possible intéressant de vos données). Inclure au moins deux séries temporelles dans le diagramme de ligne ou le diagramme à bande.
Dans cette question, nous ne nous préoccupons pas de faire un joli diagramme, même si vous pouvez toujours le faire.
Les données brutes peuvent être difficile à afficher telles quelles. Il faut donc les transformer en utilisant du Python classique.

Reprenez le diagramme avec deux séries temporelles de la question précédente et nettoyez-le en suivant les étapes vues en cours.

Produisez trois variantes de ce diagramme qui permettraient de raconter une histoire sur les données. Si vous n'observez rien de particulier, inventez en vous inspirant des exemples vus en cours. L'important est de focaliser l'attention sur un point précis du graphe en utilisant la technique adaptée.