TP1 — Pipeline de Classification Binaire

Séance 3 · Travaux Pratiques · Dataset Titanic

Machine Learning

2026-02-20

TP1 — Pipeline de Classification Binaire

Séance 3 Travaux Pratiques 2h

Objectifs
Obj6 · Obj7
Dataset
Titanic — prédiction de survie
Tâche
Classification Binaire
Framework
Scikit-learn · Pipeline

Objectifs du TP

À la fin de ce TP, vous serez capable de :

  1. Charger et explorer un dataset avec pandas
  2. Préparer les données pour l’apprentissage automatique
  3. Créer un pipeline de prétraitement avec Scikit-learn
  4. Entraîner un modèle de classification binaire
  5. Évaluer les performances du modèle

1. Configuration de l’Environnement

Section 01

Import des bibliothèques — toutes les cellules partagent le même environnement Python.

1.1 Imports & Configuration

2. Chargement & Exploration

Section 02

Chargement du dataset Titanic, exploration initiale et visualisations.

2.1 Chargement du Dataset Titanic

2.2 Exploration Initiale

2.3 Visualisations Exploratoires

3. Préparation des Données

Section 03

Sélection des features, traitement des valeurs manquantes, encodage catégoriel.

3.1 Sélection des Features

3.2 Traitement des Valeurs Manquantes

Warning

Pandas 2.0+ — Copy-on-Write : utiliser df['col'] = df['col'].fillna(...) — le inplace=True ne fonctionne plus sur une copie.

3.3 Encodage des Variables Catégorielles

3.4 Séparation Features / Target

4. Split Train / Validation / Test

Section 04

Division stratifiée pour garantir une évaluation fiable.

4.1 Split Train / Test (80/20)

4.2 Split Train / Validation (optionnel)

5. Pipeline Scikit-learn & Entraînement

Section 05

Construction du pipeline : StandardScaler → LogisticRegression.

5.1 Création du Pipeline

5.2 Entraînement du Modèle

6. Évaluation Initiale

Section 06

Accuracy, matrice de confusion, rapport de classification.

6.1 Accuracy & Biais-Variance

6.2 Matrice de Confusion

6.3 Rapport de Classification

7. Comparaison de Plusieurs Modèles

Section 07

LogisticRegression vs DecisionTree vs RandomForest.

7.1 Entraînement & Comparaison

7.2 Visualisation Comparative

8. Analyse des Prédictions

Section 08

Exemples de prédictions avec probabilités et analyse des erreurs.

8.1 Exemples de Prédictions

8.2 Analyse des Erreurs

Exercices Pratiques

Section 09

Exercices — Vue d’ensemble

Ex. 1 Feature Engineering
Créer family_size = sibsp + parch + 1 et ré-entraîner. La performance s’améliore-t-elle ?

→ Réassignation pandas 2.0+

Ex. 2 Optimisation des Hyperparamètres
Tester max_depth ∈ {3, 5, 7, 10, None} pour le Decision Tree. Analyser l’overfitting pour chaque valeur.

→ Validation croisée 5-fold

Ex. 3 Analyse d’Importance des Features
Afficher l’importance des features du Random Forest. Construire un modèle simplifié avec les 4 features les plus importantes.

→ rf.feature_importances_

Exercice 1 — Feature Engineering

Exercice 2 — Optimisation Hyperparamètres

Exercice 2 — Visualisation

Exercice 3 — Importance des Features

Exercice 3 — Modèle Simplifié

Exercice 3 — Matrice & Importance

Exercice 3 — Validation Croisée

Checklist de Validation

Dataset chargé et exploré
Valeurs manquantes traitées
Variables catégorielles encodées
Pipeline créé avec StandardScaler
Modèle entraîné avec succès
Accuracy calculée (train & test)
Matrice de confusion générée
Comparaison de plusieurs modèles
Analyse des erreurs réalisée
Exercices pratiques complétés

Résumé du TP

01 — Exploration
Chargement, stats descriptives, visualisations, valeurs manquantes.
02 — Prétraitement
Imputation, Label Encoding, One-Hot, StandardScaler.
03 — Pipeline ML
Workflow reproductible : scaler → classifier en une étape.
04 — Évaluation
Accuracy, confusion matrix, classification report, biais-variance.
05 — Comparaison
LR vs DT vs RF — analyse comparative des performances.
06 — Pour aller + loin
Feature eng., validation croisée (TP2), GridSearchCV, SVM, XGBoost.

Merci !

TP1 — Terminé

Questions ? · Prochaine séance : TP2 — Validation Croisée