Machine Learning avec Scikit-Learn

Book description

L’apprentissage automatique (Machine Learning) est aujourd’hui en pleine explosion. Mais de quoi s’agit-il exactement, et comment pouvez-vous le mettre en oeuvre dans vos propres projets ? L’objectif de cet ouvrage est de vous expliquer les concepts fondamentaux du Machine Learning et de vous apprendre à maîtriser les outils qui vous permettront de créer vous-même des systèmes capables d’apprentissage automatique. Vous apprendrez ainsi à utiliser Scikit-Learn, un outil open source très simple et néanmoins très puissant que vous pourrez mettre en oeuvre dans vos systèmes en production. • Apprendre les bases du Machine Learning en suivant pas à pas toutes les étapes d’un projet utilisant Scikit-Learn et pandas. • Ouvrir les boîtes noires pour comprendre comment fonctionnent les algorithmes. • Explorer plusieurs modèles d’entraînement, notamment les machines à vecteur de support (SVM). • Comprendre le modèle des arbres de décision et celui des forêts aléatoires, et exploiter la puissance des méthodes ensemblistes. • Exploiter des techniques d’apprentissage non supervisées  telles que la réduction de dimensionnalité, la classification et la  détection d’anomalies.

Table of contents

  1. Titre
  2. Copyright
  3. Table des matières
  4. Avant-propos (1/2)
  5. Avant-propos (2/2)
  6. Chapitre 1 – Vue d’ensemble du Machine Learning
    1. 1.1 Qu’est-ce que l’apprentissage automatique ?
    2. 1.2 Pourquoi utiliser l’apprentissage automatique ?
    3. 1.3 Exemples d’applications
    4. 1.4 Types de systèmes d’apprentissage automatique
      1. 1.4.1 Apprentissage supervisé / non supervisé (1/2)
      2. 1.4.1 Apprentissage supervisé / non supervisé (2/2)
      3. 1.4.2 Apprentissage groupé et en ligne
      4. 1.4.3 Apprentissage à partir d’observationsou apprentissage à partir d’un modèle (1/2)
      5. 1.4.3 Apprentissage à partir d’observationsou apprentissage à partir d’un modèle (2/2)
    5. 1.5 Principales difficultés de l’apprentissage automatique
      1. 1.5.1 Données d’apprentissage en nombre insuffisant
      2. 1.5.2 Données d’entraînement non représent
      3. 1.5.3 Données de mauvaise qualité
      4. 1.5.4 Variables non pertinentes
      5. 1.5.5 Surajustement des données d’entraînement
      6. 1.5.6 Sous-ajustement des données d’entraînement
      7. 1.5.7 Prendre du recul
    6. 1.6 Test et validation
      1. 1.6.1 Ajustement des hyperparamètres et sélection de modèle
      2. 1.6.2 Disparité des données
    7. 1.7 Exercices
  7. Chapitre 2 – Un projet de Machine Learning de bout en bout
    1. 2.1 Travailler avec des données réelles
    2. 2.2 Prendre du recul pour une vision d’ensemble
      1. 2.2.1 Cerner le problème
      2. 2.2.2 Sélectionner une mesure de performance
      3. 2.2.3 Vérifier les hypothèses
    3. 2.3 Récupérer les données
      1. 2.3.1 Créer l’environnement de travail
      2. 2.3.2 Télécharger les données
      3. 2.3.3 Examiner la structure des données
      4. 2.3.4 Créer un jeu de test
    4. 2.4 Découvrir et visualiser les données pour mieux les comprendre
      1. 2.4.1 Visualisation des données géographiques
      2. 2.4.2 Recherche de corrélations
      3. 2.4.3 Expérimenter avec des combinaisons de variables
    5. 2.5 Préparer les données pour les algorithmes d’apprentissage automatique
      1. 2.5.1 Nettoyer les données
      2. 2.5.2 Gérer des variables qualitatives
      3. 2.5.3 Transformateurs sur mesure
      4. 2.5.4 Recalibrage des variables
      5. 2.5.5 Pipelines de transformation
    6. 2.6 Sélectionner et entraîner un modèle
      1. 2.6.1 Réaliser l’entraînement et l’évaluationsur le jeu d’entraînement
      2. 2.6.2 Améliorer l’évaluation par la validation croisée
    7. 2.7 Régler avec précision votre modèle
      1. 2.7.1 Recherche par quadrillage
      2. 2.7.2 Recherche aléatoire
      3. 2.7.3 Méthodes d’ensemble
      4. 2.7.4 Analyser les meilleurs modèles et leurs erreurs
      5. 2.7.5 Évaluer votre système sur le jeu de test
    8. 2.8 Lancer, surveiller et maintenir votre système
    9. 2.9 Essayez !
    10. 2.10 Exercices
  8. Chapitre 3 – Classification
    1. 3.1 MNIST
    2. 3.2 Entraînement d’un classificateur binaire
    3. 3.3 Mesures de performances
      1. 3.3.1 Mesurer l’exactitude à l’aide de la validation croisée
      2. 3.3.2 Matrice de confusion
      3. 3.3.3 Précision et rappel
      4. 3.3.4 Compromis précision/rappel
      5. 3.3.5 La courbe ROC
    4. 3.4 Classification multi-classes
    5. 3.5 Analyse des erreurs
    6. 3.6 Classification multi-étiquettes
    7. 3.7 Classification multi-sorties
    8. 3.8 Exercices
  9. Chapitre 4 – Entraînement de modèles
    1. 4.1 Régression linéaire
      1. 4.1.1 Équation normale
      2. 4.1.2 Complexité algorithmique
    2. 4.2 Descente de gradient
      1. 4.2.1 Descente de gradient ordinaire
      2. 4.2.2 Descente de gradient stochastique
      3. 4.2.3 Descente de gradient par mini-lots
    3. 4.3 Régression polynomiale
    4. 4.4 Courbes d’apprentissage
    5. 4.5 Modèles linéaires régularisés
      1. 4.5.1 Régression ridge
      2. 4.5.2 Régression lasso
      3. 4.5.3 Elastic net
      4. 4.5.4 Arrêt précoce
    6. 4.6 Régression logistique
      1. 4.6.1 Estimation des probabilités
      2. 4.6.2 Entraînement et fonction de coût
      3. 4.6.3 Frontières de décision
      4. 4.6.4 Régression softmax
    7. 4.7 Exercices
  10. Chapitre 5 – Machines à vecteurs de support
    1. 5.1 Classification SVM linéaire
    2. 5.2 Classification SVM non linéaire
      1. 5.2.1 Noyau polynomial
      2. 5.2.2 Variables de similarité
      3. 5.2.3 Noyau radial gaussien
      4. 5.2.4 Complexité algorithmique
    3. 5.3 Régression SVM
    4. 5.4 Sous le capot
      1. 5.4.1 Fonctions de décision et prédictions
      2. 5.4.2 Objectif d’entraînement
      3. 5.4.3 Programmation quadratique
      4. 5.4.4 Le problème dual
      5. 5.4.5 SVM à noyau
      6. 5.4.6 SVM en ligne
    5. 5.5 Exercices
  11. Chapitre 6 – Arbres de décision
    1. 6.1 Entraîner et visualiser un arbre de décision
    2. 6.2 Effectuer des prédictions
    3. 6.3 Estimation des probabilités des classes
    4. 6.4 Algorithme d’entraînement CART
    5. 6.5 Complexité algorithmique
    6. 6.6 Impureté Gini ou entropie ?
    7. 6.7 Hyperparamètres de régularisation
    8. 6.8 Régression
    9. 6.9 Instabilité
    10. 6.10 Exercices
  12. Chapitre 7 – Apprentissage d’ensemble et forêts aléatoires
    1. 7.1 Classificateurs par vote
    2. 7.2 Bagging et pasting
      1. 7.2.1 Bagging et pasting dans Scikit-Learn
      2. 7.2.2 Évaluation hors sélection
    3. 7.3 Parcelles aléatoires et sous-espaces aléatoires
    4. 7.4 Forêts aléatoires
      1. 7.4.1 Arbres extrêmement aléatoires
      2. 7.4.2 Importance des variables
    5. 7.5 Boosting
      1. 7.5.1 Adaboost
      2. 7.5.2 Boosting de gradient
    6. 7.6 Stacking
    7. 7.7 Exercices
  13. Chapitre 8 – Réduction de dimension
    1. 8.1 Le fléau de la dimension
    2. 8.2 Principales approches de la réduction de dimension
      1. 8.2.1 Projection
      2. 8.2.2 Apprentissage de variété
    3. 8.3 PCA
      1. 8.3.1 Préservation de la variance
      2. 8.3.2 Composantes principales
      3. 8.3.3 Projection sur d dimensions
      4. 8.3.4 Utilisation de Scikit-Learn
      5. 8.3.5 Taux de variance expliquée
      6. 8.3.6 Choisir le bon nombre de dimensions
      7. 8.3.7 PCA pour la compression
      8. 8.3.8 PCA randomisée
      9. 8.3.9 PCA incrémentale
    4. 8.4 PCA à noyau
      1. 8.4.1 Sélectionner un noyau et régler les hyperparamètres
    5. 8.5 LLE
    6. 8.6 Autres techniques de réduction de dimension
    7. 8.7 Exercices
  14. Chapitre 9 – Techniques d’apprentissage non supervisé
    1. 9.1 Partitionnement
      1. 9.1.1 K-moyennes (1/2)
      2. 9.1.1 K-moyennes (2/2)
      3. 9.1.2 Limites des k-moyennes
      4. 9.1.3 Utilisation du partitionnement pour la segmentation d’image
      5. 9.1.4 Utilisation du partitionnement pour le prétraitement
      6. 9.1.5 Utilisation du partitionnementpour l’apprentissage semi-supervisé
      7. 9.1.6 DBSCAN
      8. 9.1.7 Autres algorithmes de partitionnement
    2. 9.2 Mélanges gaussiens
      1. 9.2.1 Détection d’anomalies à l’aide de mélanges gaussiens
      2. 9.2.2 Sélection du nombre de clusters
      3. 9.2.3 Modèles de mélange gaussien bayésien
      4. 9.2.4 Autres algorithmes pour la détection d’anomalieset de nouveautés
    3. 9.3 Exercices
  15. Le mot de la fin
  16. Annexe A – Solutions des exercices
    1. CHAPITRE 1 : VUE D’ENSEMBLE DU MACHINE LEARNING
    2. CHAPITRE 2 : UN PROJET DE MACHINE LEARNINGDE BOUT EN BOUT
    3. CHAPITRE 3 : CLASSIFICATION
    4. CHAPITRE 4 : ENTRAÎNEMENT DE MODÈLES
    5. CHAPITRE 5 : MACHINES À VECTEURS DE SUPPORT
    6. CHAPITRE 6 : ARBRES DE DÉCISION
    7. CHAPITRE 7 : APPRENTISSAGE D’ENSEMBLEET FORÊTS ALÉATOIRES
    8. CHAPITRE 8 : RÉDUCTION DE DIMENSION
    9. CHAPITRE 9 : TECHNIQUES D’APPRENTISSAGENON SUPERVISÉ
  17. Annexe B – Liste de contrôle de projet de Machine Learning (1/2)
  18. Annexe B – Liste de contrôle de projet de Machine Learning (2/2)
  19. Annexe C – SVM : le problème dual
  20. Index

Product information

  • Title: Machine Learning avec Scikit-Learn
  • Author(s): Aurélien Géron
  • Release date: November 2019
  • Publisher(s): Dunod
  • ISBN: 9782100797820