Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Supports de cours
  2. Gradient Boosting - Exploitez les arbres de décision pour le Machine Learning (XGBoost, CatBoost, LightGBM)

Gradient Boosting Exploitez les arbres de décision pour le Machine Learning (XGBoost, CatBoost, LightGBM)

Informations

Livraison possible dès le 29 avril 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-03402-2
  • EAN : 9782409034022
  • Ref. ENI : EPGRAD

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-03403-9
  • EAN : 9782409034039
  • Ref. ENI : LNEPGRAD
Ce livre sur les méthodes de Gradient Boosting est destiné aux étudiants, universitaires, ingénieurs, data scientist qui souhaitent découvrir en profondeur le fonctionnement de cette technique de Machine Learning utilisée pour construire des ensembles d’arbres de décision. Tous les concepts sont illustrés par des exemples de code applicatif. Ils permettent au lecteur de reconstruire from scratch sa propre librairie d’entraînement des méthodes de...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Expert
  • Nombre de pages 258 pages
  • Parution mars 2022
  • Niveau Expert
  • Parution mars 2022
Ce livre sur les méthodes de Gradient Boosting est destiné aux étudiants, universitaires, ingénieurs, data scientist qui souhaitent découvrir en profondeur le fonctionnement de cette technique de Machine Learning utilisée pour construire des ensembles d’arbres de décision.

Tous les concepts sont illustrés par des exemples de code applicatif. Ils permettent au lecteur de reconstruire from scratch sa propre librairie d’entraînement des méthodes de Gradient Boosting. En parallèle, le livre présente les bonnes pratiques de la Data Science et apporte au lecteur un solide bagage technique pour construire des modèles de Machine Learning.

Après une présentation des principes du Gradient Boosting citant les cas d’application, les avantages et les limites, le lecteur s’imprègne des détails de la théorie mathématique. Une implémentation simple est donnée afin d’en illustrer le fonctionnement.

Le lecteur est ensuite armé pour aborder la mise en application et la configuration de ces méthodes. Préparation des données, entraînement, explication d’un modèle, gestion de l’Hyper Parameter Tuning et utilisation des fonctions objectifs sont couverts en détail !

Les derniers chapitres du livre élargissent le sujet vers l’application du Gradient Boosting pour les séries temporelles, la présentation des bibliothèques emblématiques XGBoost, CatBoost et LightGBM ainsi que sur le concept de modèle multi-résolution.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


Quizinclus dans
la version en ligne !
  • Testez vos connaissances à l'issue de chaque chapitre
  • Validez vos acquis

Téléchargements

Avant-propos
  1. 1. Constructionnisme
  2. 2. Objectifs
  3. 3. Structure de l’ouvrage
  4. 4. Matériel
Gradient Boosted Tree : contexte et théorie
  1. 1. Contexte
    1. 1.1 Océan de données
    2. 1.2 Quels bénéfices en tirer ?
    3. 1.3 Souci de l’efficacité
  2. 2. Cas d’application des méthodes de Gradient Boosting
    1. 2.1 Palmarès reconnu
    2. 2.2 Large spectre d’application
    3. 2.3 Focus sur les données structurées
  3. 3. Avantages indéniables
    1. 3.1 Simplicité de configuration
    2. 3.2 Polyvalence au service de l’efficacité
    3. 3.3 Interprétabilité essentielle pour l’adoption
    4. 3.4 Capacité d’ingestion des données importantes
    5. 3.5 Grande robustesse
    6. 3.6 Personnalisation au cas métier
    7. 3.7 Très bon niveau de précision
  4. 4. Limitations
    1. 4.1 Absence de support de l’extrapolation
    2. 4.2 Aucun travail sur les features
Gradient Boosted Tree : fonctionnement
  1. 1. Méthodes ensemblistes
    1. 1.1 Principes et motivations
  2. 2. Arbres de décision
    1. 2.1 Principes et motivations
    2. 2.2 Exemple minimal
    3. 2.3 Ensemble d’arbres de décision
  3. 3. Gradient Boosting
    1. 3.1 Principe du boosting
    2. 3.2 Fondements mathématiques
      1. 3.2.1 Paramètres
      2. 3.2.2 Fonction objectif
      3. 3.2.3 Optimisation
      4. 3.2.4 Interprétation
    3. 3.3 Implémentation minimale
      1. 3.3.1 Classe DecisionEnsemble
      2. 3.3.2 Exemple
    4. 3.4 Régularisation
Entraîner efficacement un modèle
  1. 1. Entraîner efficacement
  2. 2. Préparation des données
    1. 2.1 Enrichissement des données
    2. 2.2 Volume de données
    3. 2.3 Nettoyage des données
    4. 2.4 Complétude des données
    5. 2.5 Intégration des données catégorielles
    6. 2.6 Dataset d'entraînement
    7. 2.7 Dataset d’évaluation
      1. 2.7.1 Rôle du dataset d’évaluation
      2. 2.7.2 Importance d’un bon découpage
  3. 3. Entraînement
    1. 3.1 Choix des hyperparamètres
    2. 3.2 Choix de l’objectif
  4. 4. Métriques à considérer
    1. 4.1 Rôle des métriques
    2. 4.2 Périmètre de calcul des métriques
    3. 4.3 Métriques pour la régression
      1. 4.3.1 Mean Absolute Error
      2. 4.3.2 Mean Absolute Percentage Error
      3. 4.3.3 Mean Squared Error
      4. 4.3.4 RMSE
      5. 4.3.5 Coefficient de détermination : R²
      6. 4.3.6 Modèle simple de référence
    4. 4.4 Métriques pour la classification
      1. 4.4.1 Accuracy
      2. 4.4.2 Faux positifs
      3. 4.4.3 Faux négatifs
      4. 4.4.4 Matrice de confusion
      5. 4.4.5 Précision
      6. 4.4.6 Rappel
      7. 4.4.7 F1-score
    5. 4.5 Cross-validation
      1. 4.5.1 Motivation de la cross-validation
      2. 4.5.2 Principe de la cross-validation
      3. 4.5.3 Découpages possibles
  5. 5. Le piège du sur-apprentissage
    1. 5.1 Description
    2. 5.2 Détection
      1. 5.2.1 Contraintes sur les hyperparamètres
      2. 5.2.2 Régularisation
      3. 5.2.3 Sous-échantillonnage
      4. 5.2.4 Early stopping
  6. 6. Application (digits dataset)
    1. 6.1 Configuration par défaut
    2. 6.2 Simplification du modèle
Comprendre et expliquer un modèle
  1. 1. Explicabilité
    1. 1.1 Motivation
    2. 1.2 Vue globale
    3. 1.3 Vue locale
    4. 1.4 Particularité des arbres de décision
  2. 2. Feature importances
    1. 2.1 Présentation
    2. 2.2 Calcul basé sur le niveau d’utilisation
    3. 2.3 Calcul basé sur les gains
    4. 2.4 Calcul basé sur la couverture
    5. 2.5 Implémentation
    6. 2.6 Interprétation des trois modes de calculs
  3. 3. SHAP : SHapley Additive exPlanation
    1. 3.1 Objectif : construire un modèle explicatif
    2. 3.2 Valeurs de Shapley
    3. 3.3 Implémentation
      1. 3.3.1 Modèle linéaire
      2. 3.3.2 Modèle générique
    4. 3.4 Valeur de Shapley pour les arbres de décision
      1. 3.4.1 Informations stockées pour les arbres de décision
      2. 3.4.2 Exploitation pour la méthode SHAP
    5. 3.5 Interprétation et visualisation des valeurs de Shapley
      1. 3.5.1 Explicabilité locale
      2. 3.5.2 Explicabilité globale
Hyperparameters Tuning
  1. 1. Principes
    1. 1.1 Motivations
    2. 1.2 Fonctionnement
    3. 1.3 Méthodes disponibles
      1. 1.3.1 Brute force
      2. 1.3.2 HalvingGridSearch
      3. 1.3.3 Le hasard
      4. 1.3.4 Approche de type substitut
  2. 2. Hyperparamètres
    1. 2.1 Définition
    2. 2.2 Paramètres structurels
      1. 2.2.1 Nombre d’estimateurs
      2. 2.2.2 Profondeur maximale
    3. 2.3 Paramètres d’apprentissage
      1. 2.3.1 Impact des paramètres d’apprentissage
      2. 2.3.2 Taux d’apprentissage
      3. 2.3.3 Paramètre de régularisation gamma
      4. 2.3.4 Paramètre de régularisation de type L2 : lambda
      5. 2.3.5 Paramètre de régularisation de type L1 : alpha
  3. 3. Bibliothèques existantes pour l’optimisation des hyperparamètres
    1. 3.1 Scikit-learn
    2. 3.2 Scikit-optimize
    3. 3.3 SMAC
    4. 3.4 Ray Tune
  4. 4. Optimisation d’XGBoost avec XGBoost
    1. 4.1 Objectif
    2. 4.2 Principe général
    3. 4.3 Espace de configuration et échantillonnage
    4. 4.4 Optimiseur
    5. 4.5 Application au Boston dataset
  5. 5. AutoML et Hyperparameters Tuning
Du bon usage des fonctions objectifs
  1. 1. Raison d’être des fonctions objectifs
  2. 2. Importance des fonctions objectifs
  3. 3. Objectifs usuels
    1. 3.1 Classification
      1. 3.1.1 Fonction logistique
      2. 3.1.2 Soft Max
    2. 3.2 Régression
      1. 3.2.1 Squared error
      2. 3.2.2 Pseudo Huber Loss
  4. 4. Objectifs régularisés
    1. 4.1 Logcosh
    2. 4.2 Quantile regression
  5. 5. Objectifs personnalisés
    1. 5.1 XGBoost et régression par quantile
    2. 5.2 Intervalles de confiance
Gradient Boosting pour les séries temporelles
  1. 1. Séries temporelles
    1. 1.1 Définition
    2. 1.2 Spécificités
      1. 1.2.1 Intrinsèque
      2. 1.2.2 Traitement
  2. 2. Séries temporelles et arbres de décision
    1. 2.1 Extrapolation et arbres de décision
    2. 2.2 Démonstration
    3. 2.3 Détournement des fonctions objectifs
    4. 2.4 Alternatives
  3. 3. Capture des caractéristiques temporelles
    1. 3.1 Exemple simple de périodicité
    2. 3.2 Capture manuelle
      1. 3.2.1 Principe
      2. 3.2.2 Exemple
      3. 3.2.3 Bestiaire des features calculables
    3. 3.3 Extraction automatique
      1. 3.3.1 Application à un cas simple
      2. 3.3.2 Particularités des features de type caractéristiques temporelles
    4. 3.4 Approche multimodèle
  4. 4. Construction des datasets d’entraînement et de test
    1. 4.1 Cloisonnement
    2. 4.2 Fuite de données
    3. 4.3 Respect de la temporalité
XGBoost, LightGBM ou CatBoost ?
  1. 1. Pourquoi choisir ?
    1. 1.1 Motivations
    2. 1.2 De la théorie à la pratique
      1. 1.2.1 Sélection de la feature et du critère de décision
      2. 1.2.2 Support des features catégorielles
      3. 1.2.3 Parallélisation et distribution
      4. 1.2.4 Hyperparamètres
      5. 1.2.5 Choix et customisation de la fonction objectif
      6. 1.2.6 Interfaçage
      7. 1.2.7 Simplicité d’usage
      8. 1.2.8 Langage d’implémentation
      9. 1.2.9 Support des valeurs manquantes
    3. 1.3 Convictions
  2. 2. XGBoost
    1. 2.1 Partis pris
      1. 2.1.1 Sélection de la feature et du critère de décision
      2. 2.1.2 Support des features catégorielles
      3. 2.1.3 Parallélisation et distribution
      4. 2.1.4 Hyperparamètres
      5. 2.1.5 Choix et customisation de la fonction objectif
      6. 2.1.6 Interfaçage
      7. 2.1.7 Simplicité d’usage
      8. 2.1.8 Langage d’implémentation
      9. 2.1.9 Support des valeurs manquantes
    2. 2.2 Exemple
  3. 3. LightGBM
    1. 3.1 Partis pris
      1. 3.1.1 Sélection de la feature et du critère de décision
      2. 3.1.2 Support des features catégorielles
      3. 3.1.3 Parallélisation et distribution
      4. 3.1.4 Hyperparamètres
      5. 3.1.5 Choix et customisation de la fonction objectif
      6. 3.1.6 Interfaçage
      7. 3.1.7 Simplicité d’usage
      8. 3.1.8 Langage d’implémentation
      9. 3.1.9 Support des valeurs manquantes
    2. 3.2 Exemple
  4. 4. CatBoost
    1. 4.1 Partis pris
      1. 4.1.1 Sélection de la feature et du critère de décision
      2. 4.1.2 Support des features catégorielles
      3. 4.1.3 Parallélisation et distribution
      4. 4.1.4 Hyperparamètres
      5. 4.1.5 Choix et customisation de la fonction objectif
      6. 4.1.6 Interfaçage
      7. 4.1.7 Simplicité d’usage
      8. 4.1.8 Langage d’implémentation
      9. 4.1.9 Support des valeurs manquantes
    2. 4.2 Exemple
Approche multimodèle
  1. 1. Modèle global
    1. 1.1 Principe
    2. 1.2 Motivations
  2. 2. Modèle local
    1. 2.1 Principe
    2. 2.2 Motivations
    3. 2.3 Cas d’applications
    4. 2.4 Identification des résolutions
    5. 2.5 Limitations
  3. 3. Modèle optimisé global
    1. 3.1 Principe
    2. 3.2 Motivations
    3. 3.3 Fonctionnement
Pour aller plus loin
  1. 1. Un large aperçu
  2. 2. Que retenir ?
  3. 3. Un domaine en constante évolution
  4. 4. Perspectives
    1. 4.1 Couplage avec des réseaux de neurones
    2. 4.2 Programmation différentiable
    3. 4.3 Modèles hétérogènes
  5. Index
Auteur : Guillaume SAUPIN

Guillaume SAUPIN

Ingénieur et docteur en informatique, passionné de mathématiques et du langage Lisp, Guillaume SAUPIN a travaillé une dizaine d’années comme chercheur au Commissariat à l’Energie Atomique avant de rejoindre le monde de l’Intelligence artificielle et des start up. Il a enseigné le Computer Graphics en master à l'Université Paris 12 et à Epitech. Actuellement CTO chez Verteego, il est également auteur de plus d’une vingtaine d’articles pour le Linux Magazine France et publie régulièrement en anglais sur des sujets de Data Science dans la publication en ligne Toward Data Science.
En savoir plus

Nos nouveautés

voir plus