1. Rappel sur le langage Python
Cette partie comprend quelques rappels sur le langage Python. Nous traiterons :les types de données (nombre, chaîne de caractères, liste, dictionnaire, tuple), les structures de contrôles (if / else, while, for), les fonctions, les packages et modules. Nous en profiterons pour évoquer quelques limites du langage Python pour le calcul numérique avec notamment :
- les problèmes liés au stockage en mémoire
- les problèmes d'erreurs numériques
2. Ecosystème
Cette partie présente l'écosystème python pour le calcul scientifique. Nous passerons en revue les différentes bibliothèques scientifiques en Python, leur domaine d'utilisation et comment elles permettent de contourner les limites exposées dans la partie 1.
Nous installerons Anaconda, l'une des distributions les plus utilisées pour l'analyse scientifique de données. Nous verrons comment utiliser un éditeur de code ou les notebooks Jupyter ainsi que le gestionnaire de package, Conda.
3. Chargement et manipulation des données
Nous verrons comment les bibliothèques Numpy et Pandas permettent de charger des jeux de données, parfois même très volumineux. Nous apprendrons à accéder de manière efficace et intuitive à ces données.
4. Visualisation des résultats
Au travers des bibliothèques Matplotlib et Plotly, nous expérimenterons quelques techniques de visualisation des données. Nous verrons comment tirer quelques conclusions à partir de simples observations. Les graphiques réalisés pourront être statiques ou interactifs.
5. En option, une quatrième journée pourra permettre d'aborder au choix :
Chacune de ces applications sera l'occasion de mettre à nouveau en pratique les concepts étudiés dans les partie 3 et 4.
Le machine-learning
À l'aide des bibliothèques Scipy, Scikit-learn et TensorFlow, nous étudierons et mettrons en pratique quelques techniques de calcul numérique :analyse statistique et calcul des moments d'une variable aléatoire ;partitionnement automatique des données avec l'algorithme des k-moyennesintroduction au deep-learning et réseaux de neuronaux.
Le calcul parallèle
Après avoir compris les bases de la parallélisation en Python (multi-threading et multi-processing), nous verrons comment paralléliser divers applications via la bibliothèque Dask.
L’analyse de données géographiques
Nous verrons ensemble les spécificités des données géographiques avant de les manipuler à l’aide des bibliothèques GeoPandas (pour les données vectorielles) et Rasterio (pour les données raster). Leur représentation graphique pourra être réalisée de manière statique ou interactive.
Le traitement d’images
Nous passerons en revue les bibliothèques Python dédiées à l'analyse d'images. A l’aide de la bibliothèque Scikit-image notamment, nous metterons en place quelques traitements classiques d’analyse d’images dont :la binarisation, l’application de filtres de convolution, la segmentation d’image.
De plus, dans le cadre d'une formation intra-entreprise, un cas pratique ou jeu de données représentatif peut être fourni par l'entreprise afin que le formateur l'intègre dans le cursus.