2021-01-28 Plan des séances#
Voici le plan prévu pour les cinq séances du cours de machine learning pour l’économie et la finance.
Séance 1
Ressource www.xavierdupre.fr
Classification et régression, multi-classification
Courbe ROC, AUC, voir Classifications et courbes ROC, Courbe ROC, graphe erreur ROC
Decision Tree, Arbres de décision / Random Forest, Prédiction d’une durée
Séance 2
Valeurs manquantes (cheatsheet), Valeurs manquantes (notebooks)
Réseaux de neurones (inférence, gradient)
- Apprentissage à base de gradients, différences avec les arbres
GPU ?
Zoo de modèles, paddlepaddle,
Mise en production… ONNX ?
Séance 3
- Série temporelles
statsmodels, modèles AR, fbprophet
Prédiction
Série liées au COVID
Réalisation de cartes
Modèles épidémiologiques SIRD
Séance 4
- Webscrapping
JSON, xml
Clustering
Traitement du texte
Catégories (encoding, dirtycat)
Texte libre, (tokenisation, encoder, tf-idf, deep learning)
Séance 5
- Pipeline scikit-learn
Étendre scikit-learn avec ses propres modèles
Créer un module python
Test unitaires
- Interprétabilité des modèles
Modèles éthiques
Machine learning crypté
Survival analysis
Un peu plus de détails sur la séance 1
- Projet de machine learning
Récupérer les données –> dataframe (pandas.read_csv( »… », sep= »; »))
Features = X + cible y : objectif prédire y
Séparer entre données apprentissage (train) et données test (test)
Estimer le modèle sur la base train
Evaluer sur la base test
Validation croisée pour vérifier la robustesse du modèle
La classification multiclasse est construire à partir de classifications binaires selon deux stratégies : une contre toute (One Versus Rest) ou les unes contre les autres (One Versus One)
Un peu plus en détail :
Pour la régression Lasso est utilisée pour sélectionner les variables en annulant les coefficients : Lasso.
Un peu plus de détails sur la séance 2
Valeurs manquantes (cheatsheet), Valeurs manquantes (notebooks) :
méthode naïve
corrélations
Réseaux de neurones (inférence, gradient)
propagation (évaluation)
normalisation
Réseau de neurones ou arbres ?
Parler avec les mains à une machine
GPU ?
Zoo de modèles, paddlepaddle,
attention, transformers
Un peu plus de détails sur la séance 3
Les données du jour : Chiffres-clés concernant l’épidémie de COVID19 en France.
Un peu plus de détails sur la séance 4
Covid ?
scraping
Web-Scraping, Web-Scraping (correction), Scraping, récupérer une image depuis LeMonde
cache, javascript
blacklist
API REST
Catégories
1 colonne par catégorie ça fait beaucoup de colonne
pourquoi encoder –> ordre des catégories
Texte libre
bag of words (sac de mots), tokenisation, stop-words, TD-IDF, n-grammes
word embedding (word2vec, gloves)
topics
devinette
Un chalutier mesure la taille de tous les poissons pris. Comment estimer la proportion de mâles et femelles sachant qu’ils n’ont en moyenne pas la même taille ?
Un peu plus de détails sur la séance 5
scikit-learn API
Construire un modèle qui effectue une rotation des features avant un arbre de décision, voir API de sciki-learn et modèles customisés, FunctionTransformer.
Analyse de survie
Interprétabilité (voir Interpretable Machine Learning)
Partial Dependence and Individual Conditional Expectation plots, SOME GENERAL THOUGHTS ON PARTIAL DEPENDENCE PLOTS WITH CORRELATED COVARIATES
- LIME (Local Interpretable Model-Agnostic Explanations)
Approximer localement la prédiction d’un modèle par un modèle interprétable (comme une régression Lasso), cela revient en quelque sorte à calculer le gradient du modèle en chaque feature pour un point donnée.
Simplifier l’analyse en groupant les variables (pixels) si trop de variables
- SHAP (SHapley Additive exPlanations)
Value d’une variable : on calcule l’espérance de la prédiction
en tirant aléatoirement des valeurs pour cette variable (loi marginal), on fait la différence avec la prédiction moyenne.
- Lire Shapley Values
- CounterFactual
Dérivées partielles
La prédiction est Y, on souhaite Z, quelle est le plus petit changement dans X pour avoir Z ?
Cas des variables corrélées
Ethique
variable de contrôle