Formation Python scientifique

Python est devenu un langage de choix pour les scientifiques, en raison de sa simplicité de mise en œuvre et de la richesse de son écosystème, notamment grâce à ses nombreuses et performantes librairies de calculs numériques bien souvent développées par les scientifiques eux-mêmes. Python est probablement le seul langage à offrir aux informaticiens un environnement open-source complet dédié à la recherche scientifique, aux sciences de l'ingénieur et aux mathématiques.

Objectifs pédagogiques

  • Se repérer dans l'écosystème Python Scientifique
  • Créer et utiliser un notebook Jupyter
  • Réaliser des opérations sur des tableaux numériques
  • Manipuler des données issues de fichiers tabulaires
  • Calculer des statistiques à partir de séries temporelles
  • Prédire une valeur par interpolation
  • Créer des graphiques 2D statiques
  • Créer des graphiques 2D interactifs
  • Créer des cartes à partir de données géographiques
  • Manipuler des images
  • Classifier automatiquement un jeu de données
  • Mettre en place une méthode d'apprentissage supervisé
  • Paralléliser une boucle for
  • Mesurer les performances d'un programme

Formation Python scientifique en détail

Programme

1. Poser les fondations

Cette première partie offre une vue d'ensemble de l'écosystème scientifique qui s'est développé autour du langage Python. Il vous apporte une large vision des domaines couverts en présentant plusieurs bibliothèques phares. Vous apprendrez à choisir vos outils et y voir clair pour trouver votre route dans cet environnement où il est facile pour les nouveaux arrivants de perdre pied tant l'univers des disciplines abordées et solutions proposées est grand.

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.

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.

2. Les tableaux

Nous discuterons des limites des listes Python afin de comprendre l'intérêt des tableaux Numpy et des dataframes Pandas. A l'aide des nouvelles structures de données qu'offrent ces deux bibliothèques, nous apprendrons à accéder de manière efficace et intuitive à divers jeux de données, parfois même très volumineux. Bien que Pandas soit une excellente bibliothèque pour travailler avec des données tabulaires, nous sommes limités lorsque les données sont de dimension supérieure à 2. Nous présenterons donc la bibliothèque Xarray qui étend davantage encore les fonctionnalités de manipulation de tableaux.

Numpy

Numpy est une bibliothèque Python de calcul numérique (algèbre linéaire) permettant de manipuler des vecteurs et matrices à plusieurs dimensions. Elle offre des types de données avancés pouvant être gérés très simplement. Implémentée en langage C, elle mixe le meilleur des 2 mondes: la souplesse du langage Python et les performances du C.

Pandas

Pandas est une bibliothèque permettant d'analyser avec efficacité des structures de données complexes. Pandas permet de manipuler des matrices dont chaque colonne peut être d'un type différent et offrant de nombreuses et puissantes fonctionnalités de manipulation, réduction, recherche et statistiques.

Xarray

Xarray permet de travailler avec des tableaux multidimensionnels et multi-types. Elle propose des fonctions d'analyse avancées qui s’appuient sur et étendent les forces de base de NumPy et Pandas.

3. Gestion des données temporelles

Nous explorerons les fonctionnalités offertes par la bibliothèque Pandas pour la manipulation de données temporelles. Nous calculerons des statistiques temporelles et nous réaliserons des interpolations de données manquantes. Cela sera aussi l'occasion de découvrir les fonctionnalités offertes par le projet Scipy.

Scipy

SciPy fournit un ensemble d'algorithmes mathématiques et de fonctions utilitaires qui s'appuient sur la bibliothèque Numpy.

4. Visualisation de données

Après une présentation du panomara des bibliothèques actuelles de représentation graphique en Python, nous vous guiderons dans la création de vos propres visualisations graphiques en suivant les bonnes pratiques de conception et de présentation.

Les graphiques réalisés pourront être statiques ou interactifs, univariables ou multivariables.

5. 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.

Cette partie est l'occasion de découvrir un usage particulier des tableaux Numpy.

6. Optimisations et calculs parallèles

Après avoir compris les bases de la parallélisation en Python (multi-threading et multi-processing), nous verrons comment paralléliser diverses applications via la bibliothèque Dask.

Dask

Cette bibliothèque permet d'assurer le passage à l'échelle des analyses de jeux de données trop volumineux pour être chargés d'un bloc en mémoire par Numpy ou Pandas. Directement compatibles avec les structures de données Numpy ou Pandas, Dask simplifie la parallélisation et la répatition sur des clusters des calculs scientifiques.

7. Machine-learning

Dans cette dernière partie, nous nous familiariserons avec les concepts de base du Machine-Learning. A travers plusieurs exemples concrets, nous vous proposerons une méthodologie pour la mise en place de ce type d'analyse. Nous utiliserons les implémentations mises à disposition par la bibliothèque Scikit-Learn.

(En option) 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.

 

Public visé et pré-requis

Public

  • Toute personne travaillant dans des secteurs ayant de forts besoins en calculs et simulations mathématiques
  • Informaticiens, scientifiques, chercheurs et ingénieurs travaillant dans les domaines comme les sciences physiques, la chimie, les sciences des matériaux, la génétique, la mécanique des fluides, l'aérospatiale, les statistiques, le monde de la finance, etc…

Pré-requis

  • Connaître l'algorithmie
  • Avoir une première expérience du langage Python
  • Connaître quelques rudiments mathématiques, trigonométrie (sinus, cosinus) et algèbre linéaire (calcul matriciel)

Ces pré-requis seront contrôlés et validés sous forme d’entretien téléphonique réalisé au plus tard 2 semaines avant la formation.

En cas de non adéquation, des solutions alternatives seront proposées.

Personne en situation de handicap

Pour toutes questions relatives à l’accueil d’un participant présentant un handicap, merci de nous contacter préalablement avant toute inscription.

Prochaines sessions & tarifs

Formations IA / Data Science

Python scientifique

Nantes Du 22 au 26 janvier 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

Toulouse Du 29 janvier au 2 février 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

À distance (FOAD) Du 5 au 9 février 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

Toulouse Du 1er au 5 avril 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

Paris Du 6 au 10 mai 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

Nantes Du 17 au 21 juin 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

À distance (FOAD) Du 1 au 5 juillet 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

Toulouse Du 26 au 30 août 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

Paris Du 21 au 25 octobre 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Formations IA / Data Science

Python scientifique

Nantes Du 4 au 8 novembre 2024

Durée : 5 jours soit 35 heures
Tarif : 3000 € ht par personne

Ingénierie pédagogique

Moyens pédagogiques et techniques

  • les supports de cours (slides) seront disponibles en ligne et distribués en début de formation (à l'aide d'un lien vers notre outil interne ou d'une version numérisée), puis fournis au format électronique à la fin de la formation
  • une salle de formation équipée d'une connexion Internet, d'un vidéoprojecteur, paperboard…
  • un ordinateur par stagiaire avec un système d'exploitation installé et les outils nécessaires

Modalités de suivi de l'exécution du programme

  • durant la formation : alternance d'apports théoriques (35% du cours) et d’exercices pratiques et de mise en situation sous forme de travaux pratiques corrigés avec l’expert-formateur
  • en fin de formation : évaluation à chaud sur l'atteinte des objectifs pédagogiques sous forme de tour de table et de test de connaissances, d'exercices, de QCM

Moyens d'encadrement

  • Formation assurée par un expert Python connaissant les librairies scientifiques

Témoignages

Experts Python scientifique

Mickaël Carlos

Mickaël Carlos

Chargé de recherche et développement-Django-python.


Toulouse