Feuille de route 2017 (2A)#
Plan#
Les cours et séances se déroulent sur 8 séances de 3h mardi matin. Le cours est divisé en deux pistes Stat et Eco qui correspondent aux profils décrits dans Les notions qu’il faut avoir comprises ou vues. Un compte slack python-ensae-2a.slack.com a été créé pour faciliter les échanges, annonces et questions. Une compétition sera ouverte le premier jour et fermée à la dernière session où les résultas et les idées seront discutées.
Séance |
Stat |
Eco |
---|---|---|
19/9 (1) |
Introduction du cours, présentation de la compétition, rappel pandas, numpy, matplotlib, SQL, Cartes, sérialisation Séance 1 Stat |
Introduction du cours, présentation de la compétition, pandas, numpy, matplotlib, manipulation de données, Séance 1 Eco |
26/9 (2) |
Algorithmes, itérateur, notion de pipelines, mise en production de modèles, test unitaires, régression, logging, dask, parallélisation, Séance 2 Stat |
SQL, Cartes, Rappel des méthodes linéaires (régression linéaire, logistique, ACP, …), Séance 2 Eco |
3/10 (3) |
Python et C++, sérialisation, profiling cours de Gaël Varoquaux, Séance 3 Stat |
pandas, vélib cours de Gaël Varoquaux, Séance 3 Eco |
Après 3 séances, vous devriez connaître et savoir utiliser numpy, pandas, matplotlib. |
Après 3 séances, vous devriez connaître et savoir utiliser numpy, pandas, matplotlib. |
|
10/10 (4) |
Revue de problèmes de machine learning formalisés, cross-validation Données textuelles, variables catégorielles, word embedding Séance 4 Maths |
Texte et expression régulière, Revue de problèmes de machine learning formalisés, Données textuelles, variables catégorielles, Séance 4 Eco |
17/10 (5) |
Machine learning données cryptées, hyperparamètres, données textuelles Séance 5 Maths |
Web scrapping, API, Séance 5 Eco |
24/10 (6) |
Deep learning, Keras, Torch, Transfer Learning, Séance 6 Maths |
NLP, Séance 6 Eco |
7/11 (7) |
Série temporelles, éthique dans les modèles, Séance 7 Maths |
Traitement du langage, LDA, tf-idf, expression régulière, Séance 7 Eco |
14/11 (8) |
Algorithme de streaming, Imbalanced datasets Revue de compétition Kaggle, présentation des projets, premiers suivis de projets, Séance 8 |
Premiers suivis de projets, Revue de compétition Kaggle, présentation des projets, Séance 8 |
Intervenants#
Xavier Dupré, Anne Muller, Elodie Royant, Antoine Thabault, Antoine Ly, Benjamin Donnot, Eliot Barril, Gaël Varoquaux.
Retour sur les projets#
Le cours est évalué par un projet informatique 2A - Projets informatiques - Data Scientist - Economiste. Voici quelques retours sur les projets de cette année. Le barême choisi se résume ainsi :
8 : le projet est mauvais,
12 : le projet s’est arrête à la comparaison de modèles de machine learning,
16 : le projet contient une idée originale, une analyse intéressantes des résultats,
20 : les auteurs ont construit un raisonnement qui a abouti à un fait intéressant sur le jeu de données de départ.
Beaucoup de projets se sont conclus par un graphique comparant les performances de plusieurs modèles de machine learning sur une problématique précise, extraite d”UCI, Kaggle ou d’un autre site. Les enseignements qu’on peut en tirer sont assez pauvres si le projet s’arrête là. Il n’y a rien de répliquable à d’autres projets (méthodologie), ni rien qu’on puisse vraiment apprendre des données (domaine). Les premiers résultats intéressants viennent souvent d’une analyse d’erreurs qui consiste à comprendre pourquoi le modèle s’est trompé sur tel ou tel exemple avec un haut score de confiance.
Notes#
Liens, notebooks prévus pour les séances pratiques.
Séance 1 Eco#
Rappels sur des bases du langage Python : 2A.eco - Rappel de ce que vous savez déjà mais avez peut-être oublié
Manipulation de fichiers : 1A.2 - Modules, fichiers, expressions régulières
Notebooks
Compléments
Notebook : 2A.soft - Jupyter et commandes magiques
Compétition : 2016 - Une solution à la compétition de machine learning 2A
Séance 1 Stat#
- Graphes :
Sérialisation : 2A.i - Sérialisation
Séance 2 Eco#
Beaucoup de choses pour ce TD, voici ce que vous devez absolument avoir lu pendant les 3 heures.
Regardez différentes options disponibles pour faire les graphiques et passez un peu de temps sur l’exemple 2A.data - Matplotlib
SQL : lire attentivement le notebook 2A.eco - Python et la logique SQL
Exercice à réaliser
Exercice 2 de cette page 2A.ml - Statistiques descriptives avec scikit-learn
Objectifs
avoir compris comment réaliser les différentes classes de modèles présentées (régression linéaire, ACP , logit)
avoir bien compris les notions de SQL utilisées dans le début de l’exercice
réaliser la regression demandée avec les deux packages proposés (scikit-learn et statsmodels)
Pour aller plus loin :
Panoplie de graphes et cartes : 1A.data - Visualisation des données - cartes
ROC pour un modèle logit antiseches_ml_basic_plot_binary_classification
Les exercices du notebook SQL : 2A.eco - Python et la logique SQL (question 1)
Manipuler les données et modéliser les incidents dans le transport aérien 2A.i - Modèle relationnel, analyse d’incidents dans le transport aérien
Séance 2 Stat#
- Itérateur, parallélisation :
Séance 3 Eco#
- Manipulation de données
2A.eco - Mise en pratique des séances 1 et 2 - Utilisation de pandas et visualisation
2A.eco - Mise en pratique des séances 1 et 2 - Utilisation de pandas et visualisation - correction
2A.eco - Mise en pratique des séances 1 et 2 - Utilisation de pandas et visualisation - correction
2A.eco - Mise en pratique des séances 1 et 2 - Utilisation de pandas et visualisation - correction
- Machine Learning (Gaël Varoquaux)
Séance 3 Stat#
- Sérialisation
- Profiling
- Machine Learning (Gaël Varoquaux)
Séance 4 Eco#
- webscrapping
- version alternatives des notebooks
- texte et expression régulière
Séance 4 Maths#
- word embedding
- machine learning classique
Séance 5 Eco#
Séance 5 Maths#
- Courbe ROC
- Grid Search
Séance 6 Eco#
NLP, scrapping
Séance 6 Maths#
deep learning : Notebook, deep learning avec pytorch, Transfer Learning (Olivier Grisel)
- deep learningprésentations
Deep Learning 2017 (avec Olivier Grisel)
Lectures
Séance 7 Eco#
- TF-IDF, LDA, expressions régulières
Séance 7 Maths#
- Machine Learning éthique
Séance 8#
premiers suivis de projects
- données mal balancées
- revue de compétitions Kaggle
- visualisation
- interprétabilité