2026-03-15 : feuille de route 2025 - mars

site web : sdpython.github.io

Apprendre la programmation avec Python

Autres sites :

Fonctions utiles:

Séance 1 (27/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

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 ?

Données parcours-sup 2021-2025

Séance 2 (5/3)

  • 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

Séance 3 (12/3)

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 \sum_i \left\Vert X_i\theta - y_i \right\Vert^2. Le gradient est \sum_i X_i'\left( X_i\theta - y_i \right).

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 : \theta_{t+1} = \theta_t - \epsilon_t \sum_i X_i'\left( X_i\theta - y_i \right).

  • On ne garde que les coefficients positifs : \theta_{t+1} = \max(0, \theta_t).

  • 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 (19/3)

  • rappel : créer son propre estimateur

  • retour sur les tests unitaires

Et puis

Un exemple :

Séance 5 (26/3)

série temporelles

Le modèle de référence est statsmodels

sktime propose une API plus proche de scikit-learn et d’autres modèles comme le clusting ou la segmentation de séries temporelles. Voir Estimator Overview.

  • moyennes mobiles

  • saisonnalité

  • DTW

  • HMM, Gaussian HMM

  • ruptures (changements de régime)

prophet fait aussi de la prédiction et contient aussi des algorithmes de détection de changement de régime, il contient une bonne base de jours fériés.

Analyse de survie

Interprétabilité

Municipales 2026

Séance 6 (3/4)

Evaluation

  • https://defis.data.gouv.fr/

  • le projet doit inclure au moins un graphe Partial Dependence ou Permutation Importance (voir liens ci-dessus)

  • soutenance ?

Quelques jeux de données