LangueFR
Français
English
Retour aux projets

Cours de data science & machine learning

Ce cours est mon support de formation à la data science et au machine learning : un endroit unique où centraliser ce que j'apprends, plutôt qu'une collection de notes éparpillées entre des notebooks, des articles et des marque-pages.

Comment ce cours a été écrit

Le contenu a été rédigé par Claude Code (l'assistant de programmation d'Anthropic) à ma demande, à partir d'un programme que j'ai défini et de mes lacunes identifiées — analyse en composantes principales, statistique inférentielle, concurrence en Python. Je préfère le dire clairement plutôt que de laisser croire à une rédaction manuelle : l'objectif est de disposer d'un parcours cohérent et complet, calibré sur mon niveau (prépa scientifique, Python et mathématiques solides), que je relis, corrige et complète au fil de mon apprentissage. Les erreurs qui subsistent restent les miennes — si vous en repérez une, elle m'intéresse.

Le cours compte 28 modules, du premier environnement Python jusqu'à un projet complet mis en production, plus trois annexes — un glossaire, une série d'exercices et une bibliographie. Chaque module est une page autonome.

Le format

Le cours suppose des bases solides en mathématiques et en Python — je ne réexplique ni le calcul différentiel, ni l'algèbre linéaire élémentaire. En revanche, tout ce qui est spécifique à la data science est repris depuis le problème qu'il résout, avec des exemples de code exécutables. Chaque notion suit la même trame :

La trame de chaque notion

  1. Le problème — à quoi ça répond, ce que ça évite, pourquoi ça existe.
  2. L'intuition — l'idée en une image, sans formule.
  3. Le formalisme minimal — les équations nécessaires, pas une de plus.
  4. Le code — des commandes et des extraits complets, commentés, qui tournent.
  5. Avantages et limites — pourquoi la choisir, et quand elle casse.

Les modules sont progressifs mais pas strictement séquentiels. L'ordre de lecture conseillé est celui des sept parties ci-dessous ; chaque module renvoie explicitement aux autres quand une notion y a déjà été traitée. Le dernier module reprend l'ensemble sur un projet unique, du scraping à la mise en production.

Travail en cours. Ce cours évolue au fil de mon apprentissage : certains modules seront enrichis, corrigés ou réorganisés.

Quatre façons de le parcourir

Vingt-huit modules, cela ne se lit pas d'affilée. Selon ce qu'on cherche, quatre entrées possibles :

Choisir son parcours

  • Dans l'ordre — le parcours conçu : chaque module suppose les précédents et rien d'autre. C'est le seul qui garantisse qu'aucune notion n'arrive sans avoir été expliquée.
  • Combler une lacune précise — aller droit au module concerné, en s'appuyant sur le glossaire pour les termes croisés en chemin. Les modules 8 (SVD et PCA), 9 (tests d'hypothèse), 2 (concurrence) et 11 (causalité) se lisent isolément.
  • Entrer par la pratique — commencer par le projet final, buter sur ce qu'on ne comprend pas, et remonter vers le module correspondant. Plus frustrant, souvent plus efficace.
  • Vérifier ce qu'on sait — passer directement aux exercices, et ne lire que les modules dont l'exercice résiste.

Le cours en un seul document

Les 28 modules et les trois annexes sont aussi réunis sur une page unique — pratique pour chercher dans tout le cours d'un coup — et dans un PDF d'environ 460 pages, à emporter hors ligne.

Le parcours

Partie I — Outillage

De quoi travailler proprement : le langage, ses mécanismes, les données et le déploiement.

3

Boîte à outils numérique

Module 3 · Outillage

NumPy en profondeur (broadcasting, vues, mémoire), pandas contre polars contre Dask et comment choisir, l'API scikit-learn, PyTorch face à TensorFlow.

4

SQL et bases de données

Module 4 · Outillage

Modèle relationnel, jointures et cardinalité, fonctions de fenêtre, CTE, sémantique des NULL, index et plans d'exécution, transactions ACID, OLTP contre OLAP, NoSQL et DuckDB.

5

Docker, Compose et Kubernetes

Module 5 · Outillage

Ce qui distingue un conteneur d'une VM, les commandes du quotidien, un Dockerfile multi-étapes commenté, volumes et réseaux, une pile Compose complète, et les objets Kubernetes expliqués un par un.

6

FastAPI, Pydantic et Jinja

Module 6 · Outillage

Le minimum vital sur HTTP, Pydantic pour valider ce qui entre, FastAPI pour exposer un modèle sans bloquer le serveur, Jinja pour une interface web, tests et mise en production.

7

Ingénierie des données

Module 7 · Outillage

Faire arriver les données jusqu'à l'analyse : formats colonne (Parquet, Arrow), partitionnement, ELT et schéma en étoile, dbt, orchestration idempotente, flux Kafka, contrats de données.

Partie II — Socle mathématique et statistique

Les fondations sur lesquelles tout le reste s'appuie.

Partie III — Méthode et données

Transformer un problème métier en jeu de données exploitable.

12

Data science en pratique

Module 12 · Méthode et données

Cycle de vie, cadrage, exploration, données manquantes et déséquilibrées, feature engineering, validation croisée adaptée aux données, et catalogue des fuites de données.

13

Apprendre avec peu d'étiquettes

Module 13 · Méthode et données

Transfert, apprentissage actif, semi-supervisé et auto-supervisé, supervision faible, données synthétiques et sim2real, et comment décider combien annoter.

Partie IV — Familles de modèles

Les grandes familles d'algorithmes, et pourquoi elles généralisent.

14

Machine learning classique

Module 14 · Familles de modèles

Biais-variance, modèles linéaires régularisés, SVM, arbres, forêts aléatoires, gradient boosting, clustering, recherche d'hyperparamètres et interprétabilité SHAP.

15

Théorie de l'apprentissage

Module 15 · Familles de modèles

Cadre PAC et dimension VC, no free lunch et biais inductif, double descente, régularisation implicite de SGD — et ce que la théorie n'explique toujours pas.

16

Deep learning

Module 16 · Familles de modèles

MLP et rétropropagation, recettes d'entraînement, CNN, RNN, transformers et attention, PINN pour les problèmes régis par des EDP, et les limites du deep learning.

17

Séries temporelles et durées de vie

Module 17 · Familles de modèles

Stationnarité, ETS et ARIMA, features temporelles sans fuite, prévision probabiliste, filtre de Kalman, analyse spectrale, et analyse de survie pour la fiabilité.

18

Données non tabulaires

Module 18 · Familles de modèles

Texte du TF-IDF aux transformers, vision au-delà de la classification, audio, et un traitement complet des graphes et des réseaux de neurones sur graphes.

19

Processus gaussiens et optimisation bayésienne

Module 19 · Familles de modèles

Régression par processus gaussien, noyaux et incertitude prédictive, fonctions d'acquisition, optimisation d'expériences coûteuses avec BoTorch.

Partie V — Domaines et applications

Les domaines qui ont leurs propres règles.

20

Apprentissage par renforcement

Module 20 · Domaines et applications

MDP et équations de Bellman, Q-learning et DQN, gradient de politique et PPO, et une évaluation honnête du coût du RL face au supervisé.

22

LLM, embeddings et RAG

Module 22 · Domaines et applications

Embeddings et recherche sémantique, index vectoriels, pipeline RAG complet et son évaluation, prompt engineering, LoRA et DPO, servage et injection de prompt.

23

Recherche, ranking et recommandation

Module 23 · Domaines et applications

Architecture récupération-classement, recherche hybride, learning to rank et NDCG, biais de position, factorisation matricielle et retour implicite.

Partie VI — Décision, production et responsabilité

Ce qui se passe une fois qu'un modèle existe.

24

Du score à la décision

Module 24 · Décision, production et responsabilité

Seuils fondés sur les coûts d'erreur, sélection sous contrainte de capacité, uplift modeling, bandits contextuels, quantiles de décision et recherche opérationnelle.

25

Passer à l'échelle

Module 25 · Décision, production et responsabilité

Hiérarchie mémoire des GPU et modèle roofline, précision mixte, budget mémoire d'un entraînement, profilage, DDP et FSDP, optimisation de l'inférence.

26

MLOps

Module 26 · Décision, production et responsabilité

Reproductibilité, versioning des données et des modèles, tracking d'expériences, servage, CI/CD, détection de dérive et checklist de mise en production.

27

Équité, robustesse et sécurité

Module 27 · Décision, production et responsabilité

Sources de biais, définitions d'équité et leur incompatibilité, attaques adverses, empoisonnement, confidentialité différentielle, RGPD et AI Act.

Partie VII — Mise en pratique

Tout le cours, appliqué à un projet unique.

Annexes

Trois pages transversales, qui ne sont pas des modules mais s'utilisent tout au long du cours.

A1

Glossaire et notations

Annexe · Référence

Les conventions de notation employées partout, puis environ cent quarante définitions courtes renvoyant chacune au module où la notion est développée.

A2

Exercices et auto-évaluation

Annexe · Pratique

Trente et un exercices, un par notion difficile, avec un critère de vérification chiffré et sans corrigé. Plusieurs sont faits pour échouer d'abord.

A3

Ressources pour aller plus loin

Annexe · Bibliographie

Une recommandation par sujet plutôt qu'une bibliographie : livres, cours en ligne, une trentaine d'articles fondateurs, jeux de données, et comment lire un article.


© 2026 Nils Malmberg — nils-malmberg.fr. Ce cours et le PDF qui en est tiré sont mis à disposition pour un usage personnel et pédagogique ; toute rediffusion, mise en ligne ou exploitation commerciale requiert une autorisation écrite préalable.

Data scienceMachine learningPythonStatistiques2026