Lorsqu’il s’agit de résoudre des problèmes de Machine Learning sur données tabulées, c’est-à-dire issues de base de données relationnelles ou de fichiers de type CSV, les grandes gagnantes sont les méthodes de Gradient Boosting. Pour preuve, XGBoost, LightGBM, ou encore CatBoost se retrouvent généralement en tête des meilleurs algorithmes dans les concours de type Kaggle. Dans cet article, nous allons entrer dans le détail de leur fonctionnement, à l’aide de code, pour en cerner toutes les subtilités.
1. Gradient Boosting
Plusieurs notions se cachent derrière l’idée de Gradient Boosting et les librairies comme XGBoost, LightGBM ou CatBoost. Il s’agit d’un domaine à part entière bien plus vaste que ce que saurait couvrir un simple article, puisque pour être réellement exhaustif, il faudrait traiter de leur fonctionnement, de leur implémentation, de l’hyper parameter tuning, de leur interprétabilité, de leur configuration automatique avec de l’autoML, des fonctions objectif, des métriques, de l’utilisation pour des séries temporelles et de bien d’autres points que je traite dans mon livre [1].
Ici, sans aller aussi loin dans le détail de leur fonctionnement, nous allons néanmoins rentrer dans le cœur de leur fonctionnement, à travers une implémentation certes minimale, mais qui a le mérite d’être rapidement assimilable.
1.1 Objectif
Avant de rentrer dans le vif du sujet, rappelons rapidement à quoi sert ce type de modèles. Ils...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première