Accueil / Formations / Formation Python scientifique / Data scientist

Formation Python scientifique / Data scientist

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

  • Utiliser les principales librairies de calcul numérique dont Numpy, SciPy, Pandas et Matplotlib
  • Paralléliser ses traitements sur des architectures modernes permettant le calcul distribué

Programme

Partie I : Présentation générale

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.

Partie II : Bases du Python scientifique

Dans ce chapitre nous étudierons la base du calcul scientifique en Python. Nous découvrions les bibliothèques Numpy, Pandas et Matplolib, sur lesquelles s'appuient pratiquement toutes les autres bibliothèques. Nous terminerons par quelques notions de gestion des erreurs numériques.

La Scipy Stack

Rapide présentation de la Scipy Stack

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 avec les performances du C.

  • Les tableaux Numpy et leurs particularités
  • Création de tableaux
  • Sélection de données
  • Calculs
  • Filtres

Pandas

Pandas est une librairie 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.

  • Les Séries
  • Les DataFrames
  • Création de Série et de DataFrame
  • Sélection des données
  • Agrégation
  • Entrées et sorties via les fichiers .csv

Matplotlib

Matplotlib est une librairie de tracé et de visualisation de données. Elle permet de dessiner tout type de représentations, 2D comme 3D, lesquelles peuvent être interactives avec l'utilisateur.

  • Affichage de courbes 2D
  • Affichage de nuages de points
  • Affichage d'histogramme
  • Figure avec plusieurs graphiques

Gestion des erreurs numériques

Comprendre les problèmes d'erreur numériques dans le calcul scientifique et donner quelques pistes pour s'en prémunir

Partie III : Usages avancés

Nous irons plus loin dans notre maîtrise de Numpy et Pandas. Nous découvrirons également les bibliothèques Scipy et Scikit Image qui fournissent quelques algorithmes mathématiques de base.

Numpy

  • Association de tableaux
  • Entrée / Sortie : formats de fichier standard

Pandas

  • Fusion de DataFrame
  • Manipulation de série temporelles
  • Utilisation d'une base de données

Scipy et Scikit Image

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

  • Présentation
  • Application 1 : interpolation de données météorologique
  • Application 2 : binarisation d'images

Parti IV : Visualisation de données

La visualisation de données est une discipline concernant la recherche de moyens visuels capable de faciliter la compréhension de jeux de données. Nous vous présentons ici les principales librairies de visualisation disponibles pour Python. Le choix étant vaste, il est utile d'y voir clair pour connaître les solutions à votre disposition et choisir celles qui seront les plus adaptées à vos besoins.

  • Seaborn
  • Altaïr
  • Visualisation de données cartographiques
  • Applications opensources pour la visualisation de larges jeux de données

Parti V : Parallélisme

La parallélisation

  • Principes de base de la parallélisation
  • Python et la parallélisation

Mutlti-threading

  • Qu'est ce qu'un thread ?
  • Accès concurrentiel aux données
  • Les verrous
  • Les sémaphores
  • Deadlock
  • File d'attente
  • Limites du Multi-threading en Python

Multi-processing

  • Qu'est ce qu'un process ?
  • Mémoire partagée
  • Verrous et sémaphores
  • File d'attente
  • Communication
  • Barrière
  • Pool

Partie VI : Machine Learning

Depuis maintenant plusieurs décennies l'informatique concourt à façonner notre histoire : depuis l'apparition des mainframes dans les entreprises, des PC pour les particuliers et aujourd'hui avec le Cloud.

Nous pouvons de nos jours lancer des calculs complexes et analyser des milliards de données pour des coûts dérisoires. Cela dope la recherche et donne son envol à l'intelligence artificielle.

Ce chapitre vous initiera aux bases du Machine Learning à travers plusieurs exercices concrets. Nous utiliserons les implémentations mises à disposition par la bibliothèque Scikit-Learn

L'apprentissage automatique

  • Principe
  • Enjeux
  • Applications
  • Apprentissage supervisé
  • Apprentissage non-supervisé
  • Apprentissage par renforcement
  • Classification
  • Régression

Traitement des données

  • Enjeux
  • Classes rares
  • Décomposition en composantes principales
  • KMeans
  • Entropie de Shannon

Quelques algorithmes par apprentissage automatique

  • Moindres carrés ordinaires (Scikit-Learn)
  • Algorithme de Ridge (Scikit-Learn)
  • SVM (Scikit-Learn)
  • Validations croisées (Scikit-Learn)
  • Random Forest (Scikit-Learn)
  • Introduction rapide au Deep Learning

Sessions (Toulouse, Nantes, Paris)

  • du 14 au 18 mai
    Paris
  • du 24 au 28 sept.
    Paris, Nantes, Toulouse
  • du 26 au 30 nov.
    Nantes, Toulouse
  • du 10 au 14 déc.
    Paris

Nous contacter

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.

Durée

5 jour(s) soit 35 heures

Prix

2500 € par personne

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

CS"Très bonne formation, très riche et toujours dans la bonne ambiance !"

Jules DAVID - CS Systèmes d'information 

"Une excellente formation aux derniers aspects de Python pour la data science." Saint-Gobain recherche

Mathieu - Saint-Gobain Recherche

Airbus"Le formateur s'adapte parfaitement au niveau de chacun et adapte le contenu aux souhaits des stagiaires."

Benjamin - Airbus

"Très bon formateur, formation intéressante et sur beaucoup de sujets variés." exostaff

Youva - Exostaff

Pôle Emploi"Bonne formation, permet d'avoir une vue globale des différentes applications scientifiques de Python"

Fikria - Pôle Emploi

"Formation en petit groupe très complète sur le data science en Python" IFPEN

Walid - IFPEN

"Très bonne formation de par son programme très riche et de par la qualité du formateur. Très investi et à l'écoute de nos besoins, il a adapté "à la volée" le contenu de la formation en fonction de nos souhaits et de notre niveau. Merci !LATMOS

Aurélie REBERAC - LATMOS

"Formation Python scientifique très riche et très bien documentée. Nombreux supports pour approfondir sois-même. Formateur très pédagogique, motivé et disponible. Je recommande cette formation pour toute personne voulant faire du Python scientifique.LATMOS

C.L, chercheur en physique de l'atmosphère - LATMOS

"La semaine de formation Python scientifique dispensée au Cerema a été très profitable pour mon équipe. CeremaLa formatrice, Mme Mathieu, a très exactement répondu à ce que j'attendais de cette formation, sa pédagogie et son large champ de compétences nous ont été très profitables. Mon équipe repart avec de nombreuses idées de projets en tête."

Lionel PREVORS - CEREMA