Feuille de route 2019 (2A)#
en constante élaboration
Les cours et séances se déroulent sur 9 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. Voici les principaux thèmes abordés durant le cours :
Commun data scientist - économiste
Pratique des principaux problèmes de machines Learning avec scikit-learn (classification, régression, clustering, prétraitement)
Visualisation des données
Construction d’un module python
Traitement des données textuelles (NLP, analyse de sentiments…)
Data scientiste
Implémentation de modèles personnalisés avec scikit-learn
Déploiement de modèles de machine Learning via des API rest
Problèmes moins fréquents de machine learning : apprentissage par renforcement, ranking, recommandation
Economiste
Rappel sur les notebooks, les dataframes, pandas, numpy, manipulation de données…
Cartographie
Ethique des données
Webscrapping, API et expressions régulières
Séries temporelles
Evaluation#
2A - Partager un graphe via un module python - 19 novembre (1/3 de la note finale, 6/20 pour réaliser le module, 6/20 pour un graphique ou un algorithme qui fonctionne, 6/20 pour écrire un test unitaire, 2/20 pour fournir un exemple d’utilisation du module qui fonctionne)
2A - Projets informatiques - Data Scientist - Economiste - rapport 20 décembre, soutenance mi-janvier, (2/3 de la note finale)
Séance 1 - 10/9 - amphi - introduction#
Précision sur le cours, évaluation, exposés, ressources, TD, amphi,
2A.eco - Rappel de ce que vous savez déjà mais avez peut-être oublié, 2A.ml - Problèmes classiques de machine learning illustrés
Support de cours, ce site, Lectures sur le machine learning, github: sdpython
A faire pour la prochaine fois : exécuter trois notebooks, 1A.1 - D’une structure de données à l’autre, 1A.1 - Histogramme et dictionnaire, 2A.ml - Features ou modèle
Séance 2 - 17/9#
DS - TD : régression quantile - détection d’anomalies
Régression quantile (correction : 1A.e - TD noté, 21 février 2017)
Wine Quality Datasets, corréler les erreurs de prédictions de plusieurs modèles avec plusieurs détection d’anomalies
2A.data - Classification, régression, anomalies - énoncé (correction)
DS - cours
Retour sur la classification, notion de frontière comme le ratio de deux probabilités
Cas multi-classe
Présentation des réseaux de neurones
Apprentissage méthode à base de gradient
Différence entre le gradient global et le gradient stochastique
Méthode ensembliste
Le cas des random forest pour éviter l’overfitting
Normalisation L1, L2, L1 = sélection de variables, L2 = dilution de la masse des coefficients, Pénalisation L1 L2
Retour sur le cas multi-classe avec un nombre de classes grand, notion de imbalanced dataset
Eco - Cours : rappels pandas numpy matplotlib début scikit-learn
Rappels sur le langage python, Cheat sheet: Python, variable, listes, dictionnaires, boucles, fonctions, 1A.1 - D’une structure de données à l’autre, 1A.1 - Histogramme et dictionnaire, 2A.ml - Features ou modèle
Rappels sur pandas, notion de table, lecture, écriture de fichiers texte, Excel, ajout de colonne, opérations entre colonne, apply, opérations standard (sort, filter, group by, join), numpy, opérations standard, calcul matriciel, différences avec un dataframe, 2018-09-18 - Rappels sur le langage python, 2018-09-18 - Rappels sur pandas et maplotlib
2A.eco - Rappel de ce que vous savez déjà mais avez peut-être oublié
Séance 3 - 24/9#
DS - TD
Voir Séance 2 - 17/9.
DS - cours
Voir Séance 2 - 17/9.
Eco
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
Séance 4 - 1/10#
DS - TD
2A.ml - Réduction d’une forêt aléatoire - énoncé, correction
2A.ml - Pipeline pour un réduction d’une forêt aléatoire - énoncé, correction
DS - cours
Prétraitements des données, réductions de dimensions, normalisation, transformation du texte en variable numériques
Eco
Séance 5 - 8/10#
DS
Reinforcement learning avec Jean-Baptiste Rémy (amphi à 8h30, TD à 10h15 en amphi), notebooks : Reinforcement_Toys
Eco
Séance 6 - 15/10#
Deux notebooks ont été ajoutés pour le projet 2A - Partager un graphe via un module python, ils présentent les deux jeux de données disponibles pour cet exercice si le graphe est choisi. Si c’est l’algorithme, il est possible de s’inspirer de lasso_random_forest_regressor.py qui implémente la réduction d’une random forest à l’aide d’une régression Lasso.
DS - TD
2A.ml - Réduction d’une forêt aléatoire - énoncé, correction
2A.ml - Pipeline pour un réduction d’une forêt aléatoire - énoncé, correction
DS - cours
Prétraitements des données, réductions de dimensions, normalisation, transformation du texte en variable numériques
Eco
Séance 7 - 22/10#
DS - cours
Valeurs manquantes
Système de recommandations
Séries temporelles
Notions de graphes, matrice d’adjacence sklearn.cluster.SpectralClustering, énigmes algorithmiques (placements de tables, énigme des dés, 2A.algo - Puzzles algorithmiques (1) - corretion), 2A.algo - Puzzles algorithmiques (2) - correction, 2A.algo - Parcourir les rues de Paris, 3A.mr - Random Walk with Restart (système de recommandations), 1A.algo - La sous-séquence de plus grande somme)
DS - TD
Eco
Séance 8 - 5/11#
DS - cours
Valeurs manquantes
Système de recommandations
Séries temporelles
Notions de graphes, matrice d’adjacence sklearn.cluster.SpectralClustering, énigmes algorithmiques (placements de tables, énigme des dés, 2A.algo - Puzzles algorithmiques (1) - corretion), 2A.algo - Puzzles algorithmiques (2) - correction, 2A.algo - Parcourir les rues de Paris, 3A.mr - Random Walk with Restart (système de recommandations), 1A.algo - La sous-séquence de plus grande somme)
Questions pour le projet de cartes
DS - TD
Hyperparamètres, LassoRandomForestRregressor et grid_search (énoncé) (correction)
Questions pour le projet de cartes
Eco
Séance 9 - 12/10#
Pour les groupes, travail sur le projet de module python.
DS - cours
Prérequis#
Voix stat : maîtrise du langage Python, connaissance des modules pandas, numpy, matplotlib, voir quelques rappels
Voix éco : maîtrise du langage Python, 2A.eco - Rappel de ce que vous savez déjà mais avez peut-être oublié
Autres contenus#
Apprentissage par renforcement, Reinforcement_Toys, de Jean-Baptiste Rémy
ensae-python-2019, de Solamé Do
Données de l’IREP et Devoir de Gabriel Romon
Intervenants#
Xavier Dupré, Anne Muller, Eliot Barril, Mayeul Picard, Salomé Do, Gilles Cornec, Gabriel Romon, Jean-Baptiste Rémy