Documentation — Modèles
Modèles & approches courants sur Kaggle
Les exemples ci-dessous sont tous utilisables dans des notebooks Kaggle (via scikit-learn, XGBoost, LightGBM, CatBoost, PyTorch, TensorFlow, etc.).
1- Types de modèles / approches
| Approche | Exemples de modèles / libs | Quand l’utiliser | Points d’attention |
|---|---|---|---|
| Régression linéaire / logistique | LinearRegression, LogisticRegression (scikit-learn) | Tabulaire simple (prix, scores, classes binaires), baseline rapide | Sous-performant si non-linéarités fortes / interactions |
| Arbres & Forêts | DecisionTree, RandomForest, ExtraTrees | Tabulaire mixte (numérique + catégoriel), peu de prétraitement | Peut surapprendre, moins performant que le boosting sur Kaggle |
| Gradient Boosting | XGBoost, LightGBM, CatBoost | Gold standard pour tabulaire (classement/régression) | Hyperparamètres à tuner, attention au leakage |
| Réseaux de neurones (MLP) | PyTorch / TensorFlow (denses) | Tabulaire complexe, interactions non-linéaires | Moins souvent top-tier en tabulaire vs LightGBM/XGB |
| Vision — CNN / Transformers | ResNet, EfficientNet, MobileNet, ConvNeXt, ViT | Classification d’images (peu ou bcp d’images) | Nécessite GPU, data augmentation, early stopping |
| Vision — Détection | YOLOv5/v8, Faster R-CNN, RetinaNet | Boîtes englobantes (objets, comptage, scènes) | Annotations bbox requises, taille d’image/anchors |
| Vision — Segmentation | U-Net, UNet++, DeepLabV3, SegFormer | Masques pixel-par-pixel (médical, satellite) | Masques précis, pertes adaptées (Dice, Focal) |
| NLP — Classification | BERT, DistilBERT, RoBERTa, CamemBERT, XLM-R | Sentiment, topics, toxicité, multilingue | Nettoyage texte, max length, fine-tuning |
| NLP — Génération / Seq2Seq | T5, mT5, BART, GPT-2 (petits) | Résumé, traduction, Q/R contrôlée | Coût compute, contrôle de la sortie |
| Séries temporelles | ARIMA, Prophet, LSTM/GRU, TFT (Temporal Fusion Transformer), LightGBM/XGB (features de lag) | Prévision (vente, météo, capteurs) | Fuites temporelles, validation par blocs temps |
| Clustering | KMeans, DBSCAN, HDBSCAN | Découverte de groupes sans labels | Choix de k/epsilon, scaling features |
| Détection d’anomalies | IsolationForest, One-Class SVM, Autoencoders | Fraude, pannes rares, outliers | Déséquilibre extrême, métriques adaptées (AUPRC) |
| Recommendation | SVD/SVD++, ALS (implicit), LightFM | Filtrage collaboratif, similarités | Froid démarrage, sparse matrices |
| Multimodal | CLIP, BLIP-2 (image+texte) | Aligner image/texte (recherche, tags) | Modèles lourds, besoin de GPU |
2- Quel modèle selon le type de dataset ?
| Type de dataset | Modèles conseillés (noms) | Pourquoi |
|---|---|---|
| Tabulaire (petit → moyen) | LightGBM, XGBoost, CatBoost, baseline avec Logistic/LinearRegression, RandomForest | Excellents perfs en tabulaire, gèrent bien mix num/cat |
| Tabulaire (grand / complexe) | LightGBM/XGBoost + features, essais MLP si interactions fortes | Rapide et robuste, scalable |
| Images — classification | EfficientNet-B0/B3, ResNet-50, MobileNetV3, ConvNeXt-T, ViT-B/16 | Transfert learning efficace même avec peu d’images |
| Images — détection | YOLOv5/v8, Faster R-CNN, RetinaNet | Références pour bounding boxes |
| Images — segmentation | U-Net, UNet++, DeepLabV3, SegFormer | Masques précis par pixel |
| Texte — classification | CamemBERT (FR), BERT, DistilBERT, RoBERTa, XLM-R (multi) | Excellents pour sentiment/topics, FR inclus |
| Texte — génération/summarization | T5/mT5, BART (résumés), petits GPT-2 contrôlés | Seq2Seq performants en résumé/trad |
| Séries temporelles | Prophet, ARIMA, LightGBM/XGBoost avec features de lag, LSTM/GRU, TFT | Prévisions robustes, gèrent saisonnalités |
| Clustering (sans labels) | KMeans, DBSCAN, HDBSCAN | Découverte de groupes / structures |
| Anomalies / fraude | IsolationForest, One-Class SVM, autoencoders | Repèrent les cas rares / atypiques |
| Recommendation | LightFM, ALS (implicit), SVD++ | Filtrage collaboratif éprouvé |
| Multimodal (image+texte) | CLIP, BLIP-2 | Alignement visuel/texte, recherche sémantique |
Astuce : commence par une baseline simple (ex. LogisticRegression ou LightGBM par défaut), mets en place une validation propre, puis ajoute progressivement features, transfert learning et tuning.