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
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 jupyterlab
Si 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 lab
Si 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 :
- pandas :
python -m pip install pandas
- seaborn :
python -m pip install seaborn
- scikit-learn :
python -m pip install scikit-learn
TBD :
scikit-learn
etstatsmodels
. Autre truc ?
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
.
Méthodes d'analyse des données
L'ensemble des notebooks est disponible à cette adresse
Utilisation de pandas
TBD : tuto jupyterlab
Quelques moyens utile de manipuler des jeux de données avec la bibliothèque pandas.
- jeu de données utilisé naissances en France en 2020
- 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 :
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.
Clustering
TBD les preuves
- Méthode de partitionnement, les $k$-means (téléchargez les données)
- Réduction de dimensions
- 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é
Visualisation de données
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
Nous aurons besoin de plusieurs bibliothèques python pour cette partie du cours :
Installer les packages suivants :
geopandas
pour la gestion des données cartographiques :python -m pip install geopandas
geodatasets
pour la gestion des données cartographiques :python -m pip install geodatasets
contextily
pour les fond de cartes :python -m pip install contextily
osmnx
qui 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èquenetworkx
:python -m pip install osmnx
scikit-learn
qui permettra de faire des calculs sur nos graphes:python -m pip install scikit-learn
folium
pour gérer rapidement des cartes :python -m pip install folium
mapclassify
pour utiliser la méthodeexplore
de 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
.
- Création d'un GeoDataFrame (vous aurez besoin du jeu de données villes_france_30000.csv)
- Chloroplètes à gogo (vous aurez besoin du jeu de données arrondissements.geojson)
TBD : https://geojson.io/