2026-03-15 : feuille de route 2025 - mars¶
site web : sdpython.github.io
Apprendre la programmation avec Python
Autres sites :
Python pour la data science (Lino Galiana - ENSAE)
Fonctions utiles:
Séance 1 (6/2)¶
rappels sur la régression, classification, clustering, ACP, prétraitements
train test, validation croisée
rappels sur l’apprentissage d’un arbre de régression
présentation de modules
graphes : matplotlib, seaborn, bokeh, altair
machine learning : scikit-learn, skrub, skore, imbalanced-learn, hazardous, fairlearn, xgboost, lightgbm, catboost
deep learning : pytorch, transformers, diffusers et aussi HuggingFace Hub
demain
utilisation de ChatGPT, Gemini (et autres…), retour d’expérience
et ensuite…
problème
Peut-on prédire le nombre de candidatures en 2026 pour chaque établissement ?
Séance 2 (13/2)¶
tests unitaires, pourquoi en faire
pipelines : pourquoi en faire
arbre de décision, comment ça marche ?
pourquoi les random forest sont résistantes à l’overfitting
qu’est-ce que le gradient boosting tree ?
réseau de neurones, comment ça marche ?
réseau diabolo et la compression
notion d’embedding
quelques notebooks
arbre de régression, de classification RandomForest, Overfitting
Gradient Boosting, Gradient Boosting et Learning Rate avec les Random Forest
Régression linéaire et contraintes sur les coefficients, Ridge, Lasso, ElasticNet, Ridge, Lasso, mathématiques
paramètres et hyper paramètres, Sélection des hyper-paramètres,
sklearn.model_selection.GridSearchCV
Séance 3 (27/2)¶
Régression linéaire et contraintes sur les coefficients, Ridge, Lasso, ElasticNet, Ridge, Lasso, mathématiques
paramètres et hyper paramètres, Sélection des hyper-paramètres,
sklearn.model_selection.GridSearchCVpipelines (encore)
créer son propre estimateur
tests unitaires
Pour cette séance, on souhaite construire un estimateur qui estime une régression linéaire à coefficients positifs, une autre avec des coefficients uniquement négatifs puis pour finir une dernière régression linéaire qui considère les deux premières comme features.
Une régression linéaire minimise l’erreur
.
Le gradient est
.
Comme le modèle souhaité est équivalent à une optimisation sous contrainte, on propose de le résoudre comme ceci :
On applique une itération de l’algorithme de la descente de gradient :
.
On ne garde que les coefficients positifs :
.
On retourne à l’étape 1 ou on s’arrête si l’algorithme a convergé.
On appliquera cela au jeu de données sklearn.datasets.load_diabetes() ou
Wine Quality
on comparera à une simple régression linéaire, les coefficients sont-ils
équivalents ? Comment comparer les modèles ?
Si on a le temps, traitement des données manquantes.
Séance 4 (6/3)¶
Séance 5 (13/3)¶
Séance 6 (20/3)¶
Evaluation¶
le projet doit inclure au moins un graphe Partial Dependence ou Permutation Importance (voir liens ci-dessus)
soutenance ?