Travaux Pratiques

💻 Notebooks Guidés

6 TPs complets sur des datasets réels de Kaggle. Exécutez directement sur Google Colab, aucune installation requise.

📊 6 Notebooks ☁️ Google Colab 📈 Datasets Kaggle 0 Installation
TP-1

Survie sur le Titanic — Classification

⏱️ 30 min Classification Scikit-learn Pandas

Prédire la survie des passagers du Titanic à partir de leurs caractéristiques (âge, sexe, classe, etc.). Le dataset classique pour débuter en ML.

Ouvrir dans Colab
🚢
Dataset : Titanic - Machine Learning from Disaster
🔗 kaggle.com/competitions/titanic
891
Lignes
12
Colonnes
🎯 Objectif

Construire un modèle de classification binaire pour prédire si un passager a survécu ou non au naufrage du Titanic.

✅ Résultat attendu

Accuracy > 80% sur l'ensemble de test. Analyse de l'importance des features.

🧠 Concepts utilisés

Prétraitement
Gestion des valeurs manquantes
Encodage
Variables catégorielles
Feature Engineering
Création de nouvelles features
Random Forest
Classification
Cross-Validation
Évaluation robuste
Grid Search
Optimisation hyperparamètres

📋 Étapes du TP

1
Exploration des données
Charger le dataset, analyser la distribution des variables, identifier les valeurs manquantes et les outliers.
2
Prétraitement
Remplir les valeurs manquantes, encoder les variables catégorielles (Sex, Embarked), créer des features (FamilySize, IsAlone).
3
Modélisation
Entraîner plusieurs modèles : Logistic Regression, Random Forest, Gradient Boosting. Comparer leurs performances.
Résultats attendus
Random Forest: 82% accuracy
Feature importance: Sex > Pclass > Age > Fare
TP-2

Prix des Maisons — Régression Avancée

⏱️ 45 min Régression XGBoost Feature Engineering

Prédire le prix de vente des maisons à Ames, Iowa. Un problème de régression riche en features avec beaucoup de prétraitement nécessaire.

Ouvrir dans Colab
🏠
Dataset : House Prices - Advanced Regression Techniques
🔗 kaggle.com/competitions/house-prices
1460
Lignes
81
Colonnes
🎯 Objectif

Prédire le prix de vente des maisons avec le plus faible RMSE possible en utilisant 79 features explicatives.

✅ Résultat attendu

RMSE < 30,000$ sur log-transformed prices. Top 20% du leaderboard Kaggle.

🧠 Concepts utilisés

Outlier Detection
Détection et traitement
Skewness
Transformation log
Correlation Analysis
Matrice de corrélation
XGBoost
Gradient boosting
Stacking
Ensemble de modèles
K-Fold CV
Validation croisée

📋 Étapes du TP

1
Analyse exploratoire avancée
Visualiser la distribution des prix, identifier les outliers, analyser les corrélations entre features et prix.
2
Feature Engineering intensif
Créer des features composites (TotalSF, HouseAge), regrouper les catégories rares, transformer les variables skewed.
3
Modélisation avancée
XGBoost, LightGBM, Random Forest en stacking. Optimisation des hyperparamètres avec Optuna.
Résultats attendus
XGBoost: RMSE = 0.12 (log scale)
Feature importance: OverallQual > GrLivArea > GarageCars
TP-3

Classification Iris — Introduction au ML

⏱️ 20 min Classification Débutant Visualisation

Le dataset classique pour la classification multi-classe. Identifier l'espèce d'iris à partir des mesures des pétales et sépales.

Ouvrir dans Colab
🌸
Dataset : Iris Flower Classification
🔗 kaggle.com/datasets/uciml/iris
150
Lignes
5
Colonnes
🎯 Objectif

Classifier les iris en 3 espèces (Setosa, Versicolor, Virginica) à partir de 4 features numériques.

✅ Résultat attendu

Accuracy de 95%+. Visualisation des frontières de décision.

🧠 Concepts utilisés

KNN
K-Nearest Neighbors
SVM
Support Vector Machine
Decision Boundary
Visualisation
PCA
Réduction de dimension
Pairplot
Visualisation multi-variables
Confusion Matrix
Évaluation détaillée

📋 Étapes du TP

1
Visualisation exploratoire
Pairplot pour voir les relations entre features, boxplots par espèce pour identifier les patterns.
2
Comparaison des algorithmes
KNN, SVM, Decision Tree, Random Forest. Comparer accuracy et temps d'entraînement.
3
Visualisation des frontières
Tracer les frontières de décision en 2D après PCA. Comprendre comment chaque algorithme sépare les classes.
Résultats attendus
SVM: 98% accuracy
Setosa parfaitement séparable, Virginica/Versicolor plus proches
TP-4

Consommation Énergétique — Séries Temporelles

⏱️ 40 min Time Series LSTM TensorFlow

Prédire la consommation électrique d'un bâtiment à partir de données temporelles. Introduction aux LSTM et aux prédictions séquentielles.

Ouvrir dans Colab
Dataset : ASHRAE - Great Energy Predictor III
🔗 kaggle.com/c/ashrae-energy-prediction
20M+
Lignes
1449
Bâtiments
🎯 Objectif

Prédire la consommation énergétique horaire de bâtiments à partir de données météo et historiques.

✅ Résultat attendu

RMSE < 100 sur la consommation normalisée. Capture des patterns journaliers et saisonniers.

🧠 Concepts utilisés

Time Series
Traitement séquentiel
LSTM
Réseaux récurrents
Seasonality
Patterns saisonniers
Windowing
Fenêtres glissantes
Early Stopping
Arrêt automatique
TensorBoard
Visualisation training

📋 Étapes du TP

1
Analyse temporelle
Visualiser les patterns horaires, journaliers, hebdomadaires. Identifier la saisonnalité et les tendances.
2
Feature Engineering temporel
Créer des features temporelles (hour, day_of_week, month), lags (valeurs précédentes), rolling statistics.
3
Modélisation LSTM
Construire un modèle LSTM avec Keras. Entraînement avec early stopping et learning rate scheduling.
Résultats attendus
LSTM: RMSE = 85 sur test set
Capture des pics de consommation matin/soir
TP-5

Reconnaissance de Chiffres — Deep Learning

⏱️ 35 min CNN Computer Vision Keras

Classification d'images de chiffres manuscrits (0-9) avec des réseaux de neurones convolutifs (CNN). Introduction au Computer Vision.

Ouvrir dans Colab
🔢
Dataset : MNIST Handwritten Digits
🔗 kaggle.com/datasets/hojjatk/mnist-dataset
70K
Images
28×28
Pixels
🎯 Objectif

Classifier les images de chiffres manuscrits (0-9) avec un CNN et atteindre >99% d'accuracy.

✅ Résultat attendu

Accuracy de 99%+ sur le test set. Visualisation des filtres appris par le CNN.

🧠 Concepts utilisés

CNN
Convolutional Neural Network
Conv2D
Couches de convolution
MaxPooling
Réduction spatiale
Dropout
Régularisation
BatchNorm
Normalisation
Data Augmentation
Augmentation données

📋 Étapes du TP

1
Exploration des images
Visualiser des exemples de chaque chiffre, analyser la distribution des classes.
2
Construction du CNN
Architecture: Conv2D → MaxPool → Conv2D → MaxPool → Flatten → Dense → Dropout → Output (10 classes).
3
Entraînement et évaluation
Entraînement avec data augmentation, visualisation des prédictions erronées.
Résultats attendus
CNN: 99.2% accuracy
Erreurs principalement sur 4/9 et 3/8 similaires
TP-6

Analyse de Sentiment — NLP

⏱️ 40 min NLP Embeddings Transformers

Classifier les avis IMDB comme positifs ou négatifs. Introduction au NLP et aux word embeddings avec les Transformers.

Ouvrir dans Colab
🎬
50K
Avis
2
Classes
🎯 Objectif

Classifier les avis de films comme positifs ou négatifs en utilisant des embeddings et un LSTM ou BERT.

✅ Résultat attendu

Accuracy de 90%+ avec LSTM, 95%+ avec BERT fine-tuning.

🧠 Concepts utilisés

Tokenization
Découpage en tokens
Word Embeddings
Word2Vec, GloVe
LSTM pour NLP
Séquences de texte
Attention
Mécanisme d'attention
BERT
Transformers pré-entraînés
Hugging Face
Bibliothèque transformers

📋 Étapes du TP

1
Prétraitement du texte
Nettoyage (HTML, ponctuation), tokenization, padding/truncation pour avoir des séquences de même longueur.
2
Embeddings et LSTM
Couche d'embedding apprenable + LSTM bidirectionnel + couche dense de sortie.
3
Fine-tuning BERT (bonus)
Utiliser un modèle BERT pré-entraîné via Hugging Face, fine-tuner sur les avis IMDB.
Résultats attendus
LSTM: 88% accuracy
BERT fine-tuned: 94% accuracy
OK

TPs termines ?

Felicitations ! Vous avez maintenant une solide experience pratique en Machine Learning. Continuez avec le cours theorique ou posez vos questions.