Objectifs pédagogiques
À l’issue de la formation, le participant sera en mesure de :
- Connaître les fondamentaux du langage Python
- Maîtriser les bibliothèques Python dédiées à la data science
- Effectuer de la data visualisation
- Utiliser les technologies autour de la data science (data visualisation, machine learning, big data, deep learning…)
- Comprendre les systèmes complexes et l’intelligence artificielle (IA)
Certification :
IBM Certified Data Scientist – Machine Learning Specialist v1
Public concerné
Toutes les personnes ayant une appétence pour la programmation et la manipulation des données.
Programme de la formation
Fondamentaux de Python
- Découverte des différents types de variables, des listes et des tuples.
- Présentation des divers opérateurs et structures de contrôle.
- Initiation au concept de boucle et ses différents types.
- Introduction aux fonctions et leur documentation.
- Instanciation de classes et utilisation de modules.
Les bibliothèques NumPy et Pandas
- Création et manipulation d’un tableau NumPy array.
- Présentation des opérations matricielles et manipulation d’un NumPy array.
- Création d’un indicateur statistique et opérations sur un NumPy array.
- Introduction à la bibliothèque Pandas.
- Introduction au nettoyage des données (data cleaning).
- Introduction au data processing.
- En option : Data quality (principes, variables, nettoyage de données, gestion des valeurs manquantes).
Matplotlib et Seaborn
- Présentation des différents types de graphes.
- Introduction à la personnalisation des graphiques.
- Seaborn : maîtrise de l’analyse des distributions.
- Mise en place de l’analyse statistique.
- Initiation à l’analyse multivariée.
- Bokeh (optionnel).
- Formation à tout type de graphiques interactifs et intégrables sur page web.
- Visualisation de données géographiques.
- Découverte et création de widgets.
Machine learning
- Introduction à Scikit-learn et présentation de la classification support vector machines (SVM).
- Application de la méthode des k plus proches voisins (k-nearest neighbors ou KNN).
- Sélection de modèles et classification semi-supervisée.
- Présentation des algorithmes des k-moyennes.
- Découvertes des algorithmes de mean shift.
- Introduction à la régression linéaire simple et multiple.
- Introduction à la régression linéaire régularisée.
- Feature selection process.
- Initiation aux analyses en composantes principales.
- Application de l’approche manifold learning.
Séries temporelles avec Statsmodels et text mining
- Création de nuages de mots (Wordclouds).
- Découverte des modèles de base.
- Découverte des modèles ARIMA.
- Text mining·: introduction aux expressions régulières.
- Gestion de données textuelles.
Machine learning et théorie des graphes avec NetworkX
- Introduction à la théorie des graphes.
- Application des algorithmes fondamentaux : Kruskal et Dijkstra.
- Détection de communautés.
- Application de l’algorithme PageRank au classement de pages web.
Introduction au data engineering et big data
- Introduction aux 3V du big data (volume, variété, vélocité).
- Présentation des bases de données et des architectures.
- Mise en production de données.
- Data processing et machine learning sur des grandes bases de données.
- Introduction à PySpark.
- Découverte des fonctions de PySpark : data processing, dataframes, régression avec PySpark, ML pipelines, model turning.
Deep learning avec la bibliothèque Keras
- Découverte de concepts : Dense neural networks, convolutional neural networks, architecture LeNet, transfer Learning.
Introduction à TensorFlow 2.0 et au reinforcement learning
- Mise en relation de TensorFlow et Keras.
- Application du word embedding avec Word2vec.
- Présentation du recurrent neural network.
- Présentation du generative adversial network.
- Définition des éléments de l’apprentissage par renforcement.
- Mise au point sur les fondamentaux mathématiques pour le reinforcement learning.
- Présentation de la principale famille d’algorithmes de reinforcement learning : Monte-Carlo.
- Application des algorithmes d’apprentissage par différence temporelle : SARSA.
- Application des algorithmes d’apprentissage par différence temporelle : Q-Learning.
- Comparaison entre apprentissage par différence temporelle et Monte-Carlo.
Deep reinforcement learning (apprentissage par renforcement profond)
- Application à des business cases.
- Introduction au deep reinforcement learning.
- Compréhension des fondements des méthodes basées sur la valeur.
- Compréhension des problèmes de variance élevée, des risques de surestimation, application des méthodes de résolution.
- Introduction à la méthode de policy gradient.
- Compréhension des fondamentaux de la structure acteur-critique utilisée dans l’apprentissage en deep reinforcement learning.