Python pour un Data Scientist / Economiste¶
Python pour un datascientist ou un économiste.
Ce cours s’étale sur 24 heures de cours/TD.
Les outils proposés sont en langage Python. Ils sont tous open source,
pour la plupart disponibles sur GitHub et en développement actif.
Python est devenu le premier langage pour les scientifiques
et comme c’est un langage générique, il est possible de gérer
l’ensemble des traitements appliqués aux données, depuis
le traitements des sources de données jusqu’à leur visualisation
sans changer de langage.
Le cours est prévu pour des profils plutôt statistiques
ou plutôt économiques
. Ces images reviendront pour indiquer
si les contenus s’adressent plutôt aux uns ou aux autres.
Il est évalué par un projet de datascience et d’un exposé
fait à plusieurs sur un sujet tiré d’articles de recherche récents.
Le terme cheat sheet est un mot-clé plutôt efficace sur Internet pour retrouver les bout de codes les plus fréquents. Cette page regroupe des cheat sheets sur beaucoup de sujet évoqués ci-dessous : Essential Cheat Sheets for Machine Learning and Deep Learning Engineers. Le site Kaggle recense de nombreuses compétitions de machine learning qui permettent de s’exercer ou de se mesurer à d’autres data scientists. Quelques compétitions ont aussi été créées pour ce cours : Compétitions. Le cours est organisé sous forme de thèmes, tous associés à un problème de données et ou de machine learning. Les thèmes sont de difficultés croissantes et sont abordés invariablement par, des exercices sous la forme de notebooks (énoncé / correction), des articles, des modules connus.
Thèmes
Agilité avec les données¶
Il est indispensable de savoir manipuler les données avant de pouvoir faire du machine learning. Filtrer, fusionner, concaténer, il faut savoir faire cela vite pour passer plus de temps sur les problèmes intéressants.
Machine Learning - les briques de bases¶
Un problème de données est rarement résolu avec un seul modèle, un seul algorithme et plus souvent un assemblage. La première étape consiste à analyser un problème concret à l’aide d’une grille de problèmes formalisés. C’est cette grille qui est parcourue dans les paragraphes svuiants.
Machine learning - extensions¶
Les données ne sont pas toujours organisés sous la forme d’une table de données où il s’agit de prédire Y en fonction de X. Il faut parfois prendre en compte une dépendance temporelle ou spatiale. Cette section étend la grille précédente et proposent des modèles parfois récents.
- Machine learning - extensions
- Machine Learning Techniques
- Modèles plus rares de machine learning
- Algorithmes génétiques et autres variantes
- Apprentissage sans labels
- Clustering hors espace vectoriel de dimension finie
- Clustering sans k-Means ni Classification Ascendante Hiérarchique
- Apprentissage collaboratif
- Processus Gaussiens (GP)
- Modèles avec dépendances dans le temps
- Prédire une distribution
- Optimal transfert
- Système de recommandation avec contraintes
- Multi Agent Reinforcement Learning (MARL)
- Spiking Neural Network (SNN)
- Surprise Modelling
- Survival Analysis
- Très grande dimension
- Sélection dynamique de modèles
- Apprentissage non supervisé
- Séries temporelles
- Interprétation, Anonymisation
- Cryptage, Privacy
- Graphes - Réseaux - Structures
- Deep Learning
- Texte - Natural Language Processing - NLP
- Ingénierie
Galleries de problèmes résolus ou presque¶
Il faut voir la page Galleries de problèmes résolus ou presque. Ces problèmes sont principalement résolus à l’aide de deep learning. Chaque problème n’est pas nécessairement compliqué en soi mais chaque modèle nécessite des outils de machine learning puissant et beaucoup de ressources de calculs pour apprendre des réseaux de neurones parfois pendant des mois.
Algorithmes, Optimisation, Programmation¶
Plus les données sont volumineuses, plus les contraintes sont nombreuses, plus il faut se montrer inventif. Ecrire un code efficace est souvent utile et parfois impératif simplement pour obtenir un résultat. Néanmoins, il arrive régulièrement que le premier besoin soit celui de collecter des données qui ne sont pas encore disponibles.
- Algorithmes, Optimisation, Programmation
Bibliographie¶
La plupart des articles sont référencés dans la section du thème auquel ils sont reliés. Les suivants sont en quelque sorte des inclassables.
A propos du cours¶
Ce cours a commencé en 2014 et n’a cessé de s’enrichir. Il est animé par Xavier Dupré (ENSAE 1999) et Anne Muller (ENSAE 2012). Le cours qui a pour objectif de vous présenter les notions suivantes.
Auteurs et Contributeurs
Ce cours a bénéficié de nombreuses contributions dont les auteurs sont : Xavier Dupré, Anne Muller (API, scrapping, tutoriels, …), Elodie Royant (API, scrapping, tutoriels, …), Matthieu Bizien (deep learning), Nicolas Rousset (itérateurs), Jérémie Jakubowicz (puzzle algorithmique), Antoine Thabault (premiers notebooks sur pandas, numpy), Gilles Drigout (streaming), Gaël Varoquaux (machine learning avec scikit-learn) et bien sûr les étudiants de l”ENSAE. Feuilles de route et compétitions passées :