M55 - Data Science and Scientific Computing 5
1 Syllabus
1.1 Parcours “Data Science and Scientific Computing”
Depuis septembre 2024, l’université de Toulon propose, dans sa licence de Mathématiques, un parcours nommé Data Science and Scientific Computing. Il se situe au croisement des mathématiques et de l’informatique. L’objectif principal est d’apprendre à formuler des questions de manière à ce que le calcul informatique puisse fournir des réponses (exactes ou approchées) satisfaisantes.
Ce cursus de trois ans fournit une base de connaissances et de compétences pratiques en analyse de données et en calcul scientifique, en utilisant principalement Python et les Notebook Jupyter. On y apprend à manipuler, analyser et visualiser les données, ainsi qu’à résoudre des problèmes scientifiques et mathématiques complexes en utilisant les outils et bibliothèques appropriés:
- DSSC-1 Introduction à la programmation scientifique avec Python: apprentissage des bases de la programmation en Python, notamment les structures de contrôle, les fonctions et les types de données, ainsi que l’utilisation de Matplotlib pour créer des visualisations.
- DSSC-2 Approximations et simulations: étude des bases de l’analyse numérique, avec des comparaisons aux résultats issus de la bibliothèque SciPy, pour résoudre des problèmes scientifiques et d’ingénierie: interpolations, intégrations numériques, zéros d’une fonction.
- DSSC-3 Calcul formel avec SymPy: familiarisation avec SymPy pour réaliser des calculs mathématiques symboliques comme la manipulation d’expressions et la résolution d’équations et sytèmes. Application en analyse mathématique (calcul de limites, dérivées, intégrales symboliques dans \(\mathbb{R}^n\)) et en algèbre linéaire (applications linéaires, noyeaux, etc.).
- DSSC-4 Manipulation avancée des tableaux avec NumPy: approfondissement des connaissances sur le calcul matriciel avec NumPy pour des calculs performants.
- DSSC-5 Manipulation de données avec Pandas : une initiation: utilisation de Pandas pour manipuler efficacement les jeux de données, incluant l’importation, le nettoyage, la transformation, le filtrage, l’agrégation et la gestion des valeurs manquantes.
- DSSC-6 Approximations d’équations différentielles: étude des schémas pour l’approximation de problèmes de Cauchy.
1.2 Déroulement du cours DSSC-5 : Introduction à la manipulation de données avec Pandas
Ce polycopié est associé au cinquième cours, initiant à l’utilisation de la librairie Pandas. Le cours se compose de 5 séances de 3h dans une salle du bâtiment U1.
Tous les documents sont présentés sous forme de notebooks Jupyter. Ces fichiers sont téléchargeables à partir de la page en annexe.
1.3 Évaluation
La dernière séance sera dédiée au contrôle continu (CC). Il consistera en une présentation de 10 minutes. Vous choisirez un jeu de données et vous présenterez l’analyse de ce jeu de données en utilisant les outils vus dans le cours. Vous devrez également rendre un notebook Jupyter contenant votre analyse et votre jeu de données que vous utiliserez pour votre présentation.
Je suis consciente que baucoup de notebook de ce type sont disponibles sur internet. Cependant, je vous demande de ne pas copier-coller des codes sans les comprendre. Vous devez être capable d’expliquer et modifier chaque ligne de code que vous utilisez.
Exemples de jeux de données disponibles sur internet:
1.4 Librairies Python utilisées
pandas
(etnumpy
) pour la manipulation des données;matplotlib.pyplot
,seaborn
etplotly.express
pour la visualisation des graphiques.
Quelques remarques à propos des bibliothèques de visualisation de données : lorsqu’on choisit une bibliothèque pour la visualisation de données, trois options populaires se distinguent : Matplotlib, Seaborn et Plotly. Chacune d’elles a ses propres forces et particularités.
- Matplotlib est la bibliothèque de base pour la visualisation en Python. Elle offre une gande flexibilité et un contrôle fin de tous les aspects des graphiques, des tracés de lignes simples aux visualisations complexes. C’est l’outil idéal lorsque vous avez besoin d’une personnalisation poussée et d’un large éventail de types de graphiques. Cependant, cette flexibilité vient avec une complexité accrue, nécessitant souvent beaucoup de code pour atteindre le résultat désiré.
- Seaborn, construit sur Matplotlib, simplifie la création de graphiques statistiques et esthétiques. Il propose des thèmes intégrés et des palettes de couleurs qui rendent les visualisations non seulement plus attrayantes mais aussi plus informatives. Seaborn simplifie considérablement la création de graphiques statistiques, mais il est parfois limité pour les personnalisations très spécifiques.
- Plotly se distingue par sa capacité à créer des visualisations interactives et dynamiques. Il est particulièrement adapté pour les tableaux de bord interactifs et les explorations de données en temps réel. Plotly supporte également des graphiques en 3D et des cartes géographiques, ce qui le rend très puissant.