Chefs de projet, data scientists, statisticiens, développeurs.
Savoir identifier et mettre en oeuvre les outils adaptés à l'analyse de données. Savoir définir les étapes de préparation des données, connaître les algorithmes de Machine Learning, les mettre en oeuvre avec des outils comme scikit-learn ou Spark ML.Savoir mettre en oeuvre TensorFlow pour de l'apprentissage machine, connaitre les APIs disponibles pour réaliser des modèles fiables et efficaces. Comprendre les apports du deep learning et de l'IA, l'architecture et les différents types de réseaux de neurones et les mettre en pratique avec keras. .
Connaissance des bases des systèmes d'information, et notions de calculs statistiques.
|
Introduction | L'essentiel du BigData : calcul distribué, données non structurées. Besoins fonctionnels et caractéristiques techniques des projets.La valorisation des données.Le positionnement respectif des technologies de cloud, BigData et noSQL, et les liens, implications. Concepts clés : ETL, Extract Transform Load, CAP, 3V, 4V, données non structurées, prédictif, Machine Learning. Exemple d'application : Amazon Rekognition, Polly, EMR. L'écosystème du BigData : les acteurs, les produits, état de l'art.Cycle de vie des projets BigData. Emergence de nouveaux métiers : Datascientists, Data labs, Hadoop scientists, CDO, ... Rôle de la DSI dans la démarche BigData. Gouvernance des données: importance de la qualité des données, fiabilité, durée de validité, sécurité des données Aspects législatifs : sur le stockage, la conservation de données, etc ...sur les traitements, la commercialisation des données, des résultats
|
|
Stockage distribué | Caractéristiques NoSQL. Les différents modes et formats de stockage. Les types de bases de données : clé/valeur, document, colonne, graphe.Besoin de distribution. Définition de la notion d'élasticité. Principe du stockage réparti. Définitions : réplication, sharding, gossip, hachage, Systèmes de fichiers distribués : GFS, HDFS, Ceph.Les bases de données : Redis, Cassandra, DynamoDB, Accumulo, HBase, MongoDB, BigTable, Neo4j, .. Données structurées et non structurées, documents, images, fichiers XML, JSON, CSV, ... Moteurs de recherche. Principe de fonctionnement. Méthodes d'indexation.Recherche dans les bases de volumes importants. Présentation de Elasticsearch et SolR Principe du schemaless, schéma de stockage, clé de distribution, clé de hachage
|
|
Calcul et restitution, intégration | Différentes solutions : calculs en mode batch, ou en temps réel,sur des flux de données ou des données statiques. Les produits : langage de calculs statistiques, R Statistics Language, sas, RStudio; outils de visualisation : Tableau, QlikView Ponts entre les outils statistiques et les bases BigData. Outils de calcul sur des volumes importants : Kafka/Spark Streaming/Storm en temps réel, Hadoop/Spark en mode batch. Zoom sur Hadoop : complémentarité de HDFS et YARN. Restitution et analyse : logstash, kibana, elk, zeppelin Principe de map/reduce et exemples d'implémentations, langages et sur-couches. Présentation de pig pour la conception de tâches map/reduce sur une grappe Hadoop.
|
|
Zoom sur les données : format, volumes, structures, ... | et les requêtes, attentes des utilisateurs. Etapes de la préparation des données. Définitions, présentation du data munging Le rôle du data scientist.
|
|
Gouvernance des données | Qualité des données. Transformation de l'information en donnée. Qualification et enrichissement. Sécurisation et étanchéité des lacs de données. Flux de données et organisation dans l'entreprise. De la donnée maître à la donnée de travail. MDM. Mise en oeuvre pratique des différentes phases : nettoyage,enrichissement,organisation des données.
|
|
Traitements statistiques de base | Introduction aux calculs statistiques. Paramétrisation des fonctions. Applications aux fermes de calculs distribués. Problématiques induites. Approximations. Précision des estimations.
|
|
Data Mining | Besoin, apports et enjeux. Extraction et organisation des classes de données. Analyse factorielle.
|
|
Machine Learning | Apprentissage automatique Définition, les attentes par rapport au Machine Learning Les valeurs d'observation, et les variables cibles. Ingénierie des variables. Les méthodes : apprentissage supervisé et non supervisé Classification des données, Algorithmes : régression linéaire, k-moyennes, k-voisins, classification naïve bayésienne, arbres de décision, forêts aléatoires, etc .. Création de jeux d'essai, entraînement et construction de modèles. Prévisions à partir de données réelles. Mesure de l'efficacité des algorithmes. Courbes ROC. Parallélisation des algorithmes. Choix automatique.
|
|
IA | Introduction aux réseaux de neurones. Réseaux de neurones à convolution. Modèles de CNN. Les types de couches : convolution, pooling et pertes. L'approche du Deep Learning. Deeplearning4j sur Spark.
|
|
Les risques et écueils | Importance de la préparation des données. L'écueil du "surapprentissage".
|
|
Visualisation des données | L'intérêt de la visualisation. Outils disponibles, Exemples de visualisation avec R et Python
|
|
Spark, traitement de données | Présentation Spark, origine du projet,apports, principe de fonctionnement.Langages supportés. Mise en oeuvre sur une architecture distribuée. Architecture : clusterManager, driver, worker, ...
|
|
Premiers pas | Utilisation du shell Spark avec Scala ou Python. Modes de fonctionnement. Interprété, compilé. Utilisation des outils de construction. Gestion des versions de bibliothèques. Mise en pratique en Java, Scala et Python. Notion de contexte Spark. Extension aux sessions Spark.
|
|
Cluster | Différents cluster managers : Spark interne, avec Mesos, avec Yarn, avec Amazon EC2 Architecture : SparkContext, SparkSession, Cluster Manager, Executor sur chaque noeud. Définitions : Driver program, Cluster manager, deploy mode, Executor, Task, Job Mise en oeuvre avec Spark et Amazon EC2. Soumission de jobs, supervision depuis l'interface web
|
|
Traitements | Lecture/écriture de données : Texte, JSon, Parquet, HDFS, fichiers séquentiels. Jointures. Filtrage de données, enrichissement. Calculs distribués de base. Introduction aux traitements de données avec map/reduce.
|
|
Support Cassandra | Description rapide de l'architecture Cassandra. Mise en oeuvre depuis Spark. Exécution de travaux Spark s'appuyant sur une grappe Cassandra.
|
|
DataFrames | Spark et SQL Objectifs : traitement de données structurées. L'API Dataset et DataFrames Optimisation des requêtes.Mise en oeuvre des Dataframes et DataSet. Comptabilité Hive Travaux pratiques: extraction, modification de données dans une base distribuée. Collections de données distribuées. Exemples.
|
|
Streaming | Objectifs, principe de fonctionnement: stream processing. Source de données : HDFS, Flume, Kafka, ... Notion de StreamingContexte, DStreams, démonstrations. Travaux pratiques : traitement de flux DStreams en Scala. Watermarking. Gestion des micro-batchs. Travaux pratiques: mise en oeuvre d'une chaîne de gestion de données en flux tendu : IoT, Kafka, SparkStreaming, Spark. Analyse des données au fil de l'eau.
|
|
Intégration hadoop | Rappels sur l'écosystème Hadoop de base : HDFS/Yarn. Création et exploitation d'un cluster Spark/YARN. Intégration de données sqoop, kafka, flume vers une architecture Hadoop et traitements par Spark. Intégration de données AWS S3.
|
|
Machine Learning | Fonctionnalités : Machine Learning avec Spark, algorithmes standards, gestion de la persistance, statistiques. Mise en oeuvre avec les DataFrames.
|
|
Spark GraphX | Fourniture d'algorithmes, d'opérateurs simples pour des calculs statistiques sur les graphes Travaux pratiques :exemples d'opérations sur les graphes.
|
|
DataFrames | Objectifs : traitement de données structurées,.L'API Dataset et DataFrames Optimisation des requêtes.Mise en oeuvre des Dataframes et DataSet. Chargement de données, pré-traitement : standardisation, transformations non linéaires, discrétisation. Génération de données.
|
|
Traitements statistiques de base | Introduction aux calculs statistiques. Paramétrage des fonctions. Applications aux fermes de calculs distribués. Problématiques induites. Approximations. Précision des estimations. Exemples sur Spark : calculs distribués de base : moyennes, variances, écart-type, asymétrie et aplatissement (skewness/kurtosis)
|
|
Machine Learning | Apprentissage automatique : définition, les attentes par rapport au Machine Learning Les valeurs d'observation, et les variables cibles. Ingénierie des variables. Les méthodes : apprentissage supervisé et non supervisé. Classification, régression. Fonctionnalités : Machine Learning avec Spark, algorithmes standards, gestion de la persistence, statistiques.
|
|
Mise en oeuvre sur Spark | Mise en oeuvre avec les DataFrames. Algorithmes : régression linéaire, k-moyennes, k-voisins, classification naïve bayésienne, arbres de décision, forêts aléatoires, etc ... Création de jeux d'essai, entraînement et construction de modèles. Prévisions à partir de données réelles. Travaux pratiques : régression logistiques, forêts aléatoires, k-moyennes. Recommandations, recommendForAllUsers(), recommendForAllItems().
|
|
Modèles | Chargement et enregistrement de modèles. Mesure de l'efficacité des algorithmes. Courbes ROC. MulticlassClassificationEvaluator(). Mesures de performance. Descente de gradient. Modification des hyper-paramètres. Application pratique avec les courbes d'évaluations.
|
|
Spark/GraphX | Gestion de graphes orientés sur Spark Fourniture d'algorithmes, d'opérateurs simples pour des calculs statistiques sur les graphes Travaux pratiques :exemples d'opérations sur les graphes.
|
|
IA | Introduction aux réseaux de neurones. Les types de couches : convolution, pooling et pertes. L'approche du Deep Learning avec Spark. Deeplearning4j sur Spark.
|
|
Positionnement Python | Besoins des data-scientist: calculs, analyse d'images, machine learning, interface avec les bases de données Apports de python:grande variété d'outils, expertise dans le domaine du calcul scientifique Tour d'horizon des outils: pandas, agate, bokeh, scikit-learn, pybrain, tensorflow, keras, mxnet, caffe
|
|
Calculs et graphiques | NumPy : Base du calcul sur des tableaux SciPy : Scientific Tools for Python, couche scientifique Manipulation de tableaux, fonctions mathématiques. Représentation graphique avec basemap et matplotlib. Mise en oeuvre de SciPy/NumPy : manipulation d'images, détection de contours
|
|
Manipulation de données relationnelles | Pandas : manipulation de tables de données Tableaux avec Pandas: indexation, opérations, algèbre relationnelle Stockage dans des fichiers: CSV, h5py, netCDF Comparaison et performances Pandas / NumPy
|
|
Machine learning et deep learning | Présentation de TensorFlow,scikit-learn,keras,mxnet,caffe TensorFlow:principe de fonctionnement, plateformes supportées, distribution, APIs fournies en standard, modèles d'apprentissage Projet scikit-learn:classification, régression, validation de modèles prédictifs. Démonstrations avec les modèles fournis par scikit-learn Positionnement et comparaison avec Keras, mxnet, caffe
|
|
Définitions | Définitions et positionnement IA, deep learning et Machine Learning Les apports du deep learning, état de l'art Exemples, domaines d'application.présentation de deepmind
|
|
Deep learning | Les réseaux de neurones : principe, différents types de réseaux de neurones (artificiels, convolutifs, récurrents, ...) Présentation de TensorFlow, scikit-learn, keras, mxnet, caffe, pytorch Exemple de mise en oeuvre avec TensorFlow. APIs standard, modèles d'apprentissage
|
|
Intelligence Artificielle | Etat de l'art Outils disponibles. Exemple de projets. Mise en oeuvre sur cloud AutoML: langages naturels, traduction, reconnaissance d'images,..
|
|
Réseaux de neurones | Principe des réseaux de neurones, Multi-Layer Perceptron. Exemples d'applications. Frameworks existants: Keras, PyTorch, Caffe
|
|
Conception d'un réseau de neurones | Entrainement : principe de l'apprentissage supervisé Préparation des données Dimensionnement du réseau: taille des couches, profondeur Fonctions d'activation Mise en pratique avec Keras
|
|
Optimisation d'un réseau de neurones | Évaluation d'un modèle, performances Descente de gradient Choix des hyper-paramètres Optimisation de l'apprentissage: taille de batch, epochs, algorithmes
|
|
Architecture | Architecture des réseaux de neurones multi-couches Différents types de couches et domaines d'application : CNN, RNN, LSTM, RCNN Exemples : applications de reconnaissance d'images (Rekognition)
|
|
Présentation | Historique du projet TensorFlow Fonctionnalités Architecture distribuée, plateformes supportées
|
|
Premiers pas avec TensorFlow | Installation de TensorFlow, Principe des tenseurs, caractéristiques d'un tenseur: type de données, dimensions Définition de tenseurs simples, Gestion de variables et persistance, Représentation des calculs et des dépendances entre opérations par des graphes
|
|
Optimisation des calculs | Calculs distribués : différents types de stratégies (synchrone ou asynchrone), avec stockage centralisé des données ou dupliqué sur différents cpu Distribution sur des GPUs Utilisation de TPUs Travaux pratiques sur une plateforme multi-GPU (RIG)
|
|
Présentation des RN | Principe des réseaux de neurones Descente de gradient Multi-Layer Perceptron
|
|
Présentation de Keras | Conception d'un réseau de neurones Différents types de couches: denses, convolutions, activations Construction d'un modèle complexe Prédictions et validation d'un modèle
|
|
Classification d'images avec Keras | Notion de classification, cas d'usage Architectures des réseaux convolutifs, réseaux ImageNet RCNN et SSD Démonstrations sur les convolutions
|
|
Optimisation d'un modèle | Visualisation avec Tensorboard Optimisation des couches de convolutions Choix des hyper-paramètres avec Keras et Keras Tuner Utilisation de checkpoints
|