IA/Data Science

Découvrez l'écosystème scientifique du langage Python. Formez vous à l'analyse de données et aux techniques les plus récentes d'intelligence artificielle.

Kiwi standing on oval

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

  • 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é

Formation Python scientifique en détail

Programme

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

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

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

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

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

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

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

IA/Data Science

Python scientifique

A distance (foad) Du 25 au 29 octobre 2021

Durée : 5 jour(s) soit 35 heures
Tarif : 2800 € ht par personne

IA/Data Science

Python scientifique

A distance (foad) Du 22 au 26 novembre 2021

Durée : 5 jour(s) soit 35 heures
Tarif : 2800 € 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

Bérengère Mathieu

Bérengère Mathieu

Experte data science


Toulouse
Mickaël Carlos

Mickaël Carlos

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


Toulouse