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
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.