Analyse de données

Tags :
  • cours
  • données
  • viz
  • python
Auteur :
  • 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 :

  1. vous savez ce qu'est un interpréteur python et comment lui ajouter des modules
  2. 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 :

TBD : scikit-learn et statsmodels. 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.

  1. jeu de données utilisé naissances en France en 2020
  2. Premières manipulations
  3. Accéder à des données d'un dataframe
  4. Lecture de données

A vous

Deux notebooks à remplir en utilisant ce que vous avez vu en cours :

  1. premières manipulations
  2. Lecture d'un dataframe

Statistiques descriptives

  1. jeu de données utilisé épreuve d'analyse des données
  2. Statistiques descriptives
  3. Régression et corrélation (télécharger l'image du notebook)
  4. 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

  1. projection (télécharger l'image 1 et l'image 2 du notebook)
  2. ACP
  3. On s'entraîne (téléchargez les données) (corrigé)

Faite l'ACP :

Clustering

TBD les preuves

  1. Méthode de partitionnement, les $k$-means (téléchargez les données)
  2. Réduction de dimensions
  3. 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

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èque networkx : 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éthode explore de GeoPandas : python -m pip install mapclassify

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 :

  1. dans anaconda-navigator allez dans la partie environnement
  2. ouvre un terminal en cliquant sur le triangle vert de l'environnement base (root).

Une fois dans le terminal on peut installer nos packages :

  1. étape facultative : mettre à jour conda. Tapez la commande : conda update --all
  2. installez les bibliothèques nécessaires avec pip.
  1. Cartes de géographie
  2. CRS
  3. Geopandas
  4. OSM
    1. réseau routier
    2. requêtes

TBD : https://geojson.io/