Analyse de données
- cours
- données
- viz
- python
- François Brucker
Cours d'analyse des données. Il comporte deux parties, l'une consacrée à l'analyse classique de données décrites par des attributs réels et l'autre consacrée à la visualisation de données.
Rappel
Il est important que vous ayez compris les bases sur lesquels nous allons coder nos analyses. Ce n'est pas un cours de code, mais comprendre ce que l'on fait vous permettra de créer des analyses plus fines.
Vérifiez que vous avez bien les prérequis en les relisant.
En particulier on suppose que :
- vous savez ce qu'est un interpréteur python et comment lui ajouter des modules
- vous savez utiliser soit jupyterlab soit vscode
Ces bases vous seront suffisantes pour utiliser des méthodes d'analyses de données déjà codées et faire de toutes petites fonctions. Si avez besoin d'écrire des fonctions plus grosses, il vous faudra apprendre à écrire des tests et connaître l'outil de de debug de python. Toutes ces notions sont développées dans le cours de développement
Installation des modules pythons
Il pourra être utile d'installer les différents modules python dans un environnement virtuel.
Le cours est sous la forme de notebooks Jupyter. Téléchargez le fichier de cours et utilisez le via Jupyter notebook (avec vscode ou autre)
python -m pip install jupyterlabSi la commande précédente ne fonctionne pas (sous mac avec brew par exemple), il vous faudra sûrement ajouter le paramètre --break-system-packages.
Puis :
python -m jupyter labSi la commande précédente ne fonctionne pas (sous mac avec brew par exemple), il vous faudra sûrement commencer par construire jupyterlab : python -m jupyter lab build.
Vous aurez besoin d'installer :
modules à installer
- pandas : python -m pip install pandas
- seaborn : python -m pip install seaborn
- scikit-learn : python -m pip install scikit-learn
Si sous windows vous n'arrivez pas à faire fonctionner matplotlib malgré le fait que vous l'ayez installé, essayez d'installer les bibliothèques DLL de visual C++ : python -m pip install msvc-runtime.
Si vous avez des "sauts" dans la fenêtre Jupiter lorsque vous faites défiler votre écran : Settings → Settings Editor → Notebook → Windowing mode → Defer.
Utilisation de pandas
L'ensemble des notebooks est disponible à cette adresse.
Vous pouvez utiliser cette url https://download-directory.github.io/ pour télécharger le dossier.
Quelques moyens utile de manipuler des jeux de données avec la bibliothèque pandas.
- jeu de données utilisé naissances en France en 2022
- Premières manipulations
- Accéder à des données d'un dataframe
- Lecture de données
A vous
Deux notebooks à remplir en utilisant ce que vous avez vu en cours :
Visualisation de données
L'ensemble des notebooks est disponible à cette adresse.
Vous pouvez utiliser cette url https://download-directory.github.io/ pour télécharger le dossier.
Graphiques
Reprendre les données des naissances et en utilisant le lien ci-dessus représentez-les en utilisant d'autres types de graphique. Il faudra choisir un type de graphique adapté à ce que vous voulez représenter.
Réduction de dimension
Représenter ses données en 2 dimensions.
L'exercice suivant utilise vise à créer une distance entre texte puis à la représenter en 2-dimensions.
Visualisation de données cartographiques
Cette partie du cours est consacrée aux données cartographiques, et comment les utiliser pour faire des visualisations de données.
L'ensemble des notebooks est disponible à cette adresse.
Vous pouvez utiliser cette url https://download-directory.github.io/ pour télécharger le dossier.
Nous aurons besoin de plusieurs bibliothèques python pour cette partie du cours :
Créez vous un environnement virtuel et, en plus des packages précédents installez les packages suivants :
- geopandaspour la gestion des données cartographiques :- python -m pip install geopandas
- geodatasetspour la gestion des données cartographiques :- python -m pip install geodatasets
- contextilypour les fond de cartes :- python -m pip install contextily
- osmnxqui permet de récupérer des données d'https://www.openstreetmap.fr/ et de les structurer sous la forme d'un graphe en utilisant la biliothèque- networkx:- python -m pip install osmnx
- scikit-learnqui permettra de faire des calculs sur nos graphes:- python -m pip install scikit-learn
- foliumpour gérer rapidement des cartes :- python -m pip install folium
- mapclassifypour utiliser la méthode- explorede GeoPandas :- python -m pip install mapclassify
sous anaconda
sous anaconda
Pour installer tous les packages nécessaire pour ce cours (anaconda ne les connaît pas a priori), on va utiliser le terminal. Pour activer un terminal configuré pour fonctionner avec anaconda il faut :
- dans anaconda-navigator allez dans la partie environnement
- ouvre un terminal en cliquant sur le triangle vert de l'environnement base (root).
Une fois dans le terminal on peut installer nos packages :
- étape facultative : mettre à jour conda. Tapez la commande : conda update --all
- installez les bibliothèques nécessaires avec pip.
Base de la cartographie
carte chloroplète (vous aurez besoin du jeu de données villes_france_30000.csv).
corrigé
corrigé
Données géographiques
A vous
Données cartographiques (vous aurez besoin du jeu de données arrondissements.geojson)
Méthodes d'analyse des données
L'ensemble des notebooks est disponible à cette adresse
Partitionnement et hiérarchies
- Méthode de partitionnement, les $k$-means (téléchargez les données)
- Méthodes hiérarchiques (téléchargez les données)
Les deux exercices suivant utilisent les méthodes de partitionnement, de MDS et hiérarchiques pour des données images ou textes. Ils montrent que l'on peut utiliser ces méthodes de façon astucieuses et/ou rigolotes.
Pour aller plus loin
corrigé
corrigé
Statistiques descriptives
- jeu de données utilisé épreuve d'analyse des données
- Statistiques descriptives
- Régression et corrélation (télécharger l'image du notebook)
- Autres régressions
TBD attentions les nouvelles versions de pandas ne font plus la corrélation si une colonne non numérique. Il faut changer le corrigé en utilisant la dernière version de pandas.
Analyse en composantes principales
TBD les preuves
- projection (télécharger l'image 1 et l'image 2 du notebook)
- ACP
- On s'entraîne (téléchargez les données) (corrigé)
A vous
- une étude fumeuse (téléchargez les données)
- ACP d'images
corrigé
corrigé
Faite l'ACP :
- de deux de ses jeux de données exercices de ce dossier
- d'un jeu de données à vous.