Data science : fondamentaux et études de cas
Machine learning avec Python et R
Éric Biernat
Michel Lutz
Eyrolles
Avant-propos1
Pourquoi ce livre ?
1
À qui s'adresse-t-il ?
2
Qui sont les auteurs ?
3
Comment lire ce livre ?
4
Remerciements
5
Références
5
Première partie
Le B.A.-ba du data scientist7
Chapitre 1
Savoir poser un problème de data science9
Introduction
9
Préliminaire : qu'est-ce que le machine learning ?
10
Au commencement était la donnée
11
Un prérequis indispensable11
Que sont les données ?11
Les principaux types de données12
D'où viennent les données ?13
Les algorithmes : pour faire quoi ?
14
Sous les données, des liens... plus ou moins certains !14
Une taxinomie des algorithmes15
Algorithmes supervisés et non supervisés16
Algorithmes de régression et de classification18
Pour les plus curieux20
Algorithmes et structures de données
21
Représentation matricielle des données21
Que font les algorithmes ?22
Références
23
Chapitre 2
Les outils informatiques25
Quels logiciels ?
25
Quel environnement de travail ?
27
Références
29
Deuxième partie
Les algorithmes et leurs usages : visite guidée31
Sous-partie 1
Les basiques du data scientist33
Chapitre 3
La régression linéaire univariée35
Introduction
35
Définition de la fonction hypothèse
36
Qui dit approximation dit erreur
36
Minimiser la fonction de coût
38
Références
40
Chapitre 4
La régression linéaire multivariée41
Introduction
41
Le modèle en détail
41
Normalisation
42
Résolution analytique
46
Références
50
Chapitre 5
La régression polynomiale51
Introduction
51
Principes généraux de la régression polynomiale
51
La notion de sur-apprentissage
55
Le compromis biais-variance
58
Référence
59
Chapitre 6
La régression régularisée61
Introduction
61
La régression ridge
62
Le LASSO
64
Ridge + LASSO = ElasticNet
65
Références
66
Chapitre 7
Naive Bayes67
Introduction
67
Le théorème de Bayes et la notion d'indépendance
67
Le théorème de Bayes67
La notion d'indépendance68
Le modèle Naive Bayes par l'exemple
68
Le cadre général
71
Références
71
Chapitre 8
La régression logistique73
Introduction
73
Le modèle en détail
73
La fonction hypothèse73
Les fonctions sigmoïdes74
La fonction de coût78
Minimisation de la fonction de coût79
Derrière la linéarité
80
Classification multiclasses
82
Régularisation
84
Références
84
Chapitre 9
Le clustering85
Introduction
85
Le clustering hiérarchique
86
Principe86
Les distances88
Le critère d'agrégation89
La notion de troncature91
Le clustering non hiérarchique
91
Principe91
Les centres mobiles92
Quelques variantes92
Les approches mixtes
93
Références
94
Chapitre 10
Introduction aux arbres de décision95
Introduction
95
Principe
95
Construction d'un arbre de décision
96
Références
98
Sous-partie 2
L'artillerie lourde99
Chapitre 11
Random forest101
Introduction
101
Principes
101
L'idée de base101
Le défaut des arbres de décisions102
Le modèle en détail
103
Tree bagging103
Feature sampling104
Le critère de split105
Conseils pratiques
109
Les paramètres de random forest109
Interprétation de random forest110
Quelques variantes de random forest
111
Références
113
Chapitre 12
Gradient boosting115
Introduction
115
Le modèle en détail
115
Adaboost, le prestigieux ancêtre115
Le gradient boosting121
Le gradient boosting dans la pratique
125
Mise en oeuvre dans scikit-learn125
Un exemple en classification128
Une variante : xgboost
131
Références
132
Chapitre 13
Support Vector Machine133
Introduction
133
La dimension VC
133
La théorie de Vapnik-Chervonenkis133
La dimension de Vapnik-Chervonenkis134
Interprétation de la dimension VC139
Le SVM en détail
140
La notion de marge140
Cas non linéairement séparable146
Références
152
Troisième partie
La data science en pratique : au-delà des algorithmes153
Sous-partie 1
Quelques concepts généraux155
Chapitre 14
Évaluer une modèle157
Introduction
157
La validation croisée
158
De la nécessité de diviser vos données158
La validation croisée159
Choix de la métrique de performance (P)
160
Pour les problèmes de régression160
Pour les problèmes de classification162
Références
168
Chapitre 15
Les espaces de grande dimension171
Introduction
171
Les problèmes liés à la grande dimension
172
La malédiction de la dimension172
La multicolinéarité174
Autres problèmes liées aux grandes dimensions174
La sélection de variables
175
Régression pas à pas175
Approches machine learning176
Réduction de dimensions : l'analyse en composantes principales
179
Objectif179
Les grandes étapes de l'ACP180
Exemple d'application184
Digression : positionnement de l'ACP dans les statistiques classiques et complémentarité avec la classification186
Références
188
Chapitre 16
Valeurs manquantes et valeurs aberrantes : généralités189
Introduction
189
Qu'est-ce que les valeurs manquantes ?
189
Comment traiter les valeurs manquantes ?
191
Quid des valeurs aberrantes ?
194
Références
196
Sous-partie 2
À vos claviers !197
Chapitre 17
Prédire les survivants du Titanic199
Introduction
199
Les données et le problème
199
La modélisation
202
Un premier modèle « quick and dirty »202
Étude des variables204
Random forest au secours du Titanic210
Utilisation des autres variables
212
Chapitre 18
Classification automatique de zones de texte215
Introduction
215
Les données et le problème
215
Les modélisations
219
Online learning219
Stacking227
Blend final234
Références
237
Sous-partie 3
La temporalité dans les modèles, un cas particulier d'application239
Chapitre 19
Qu'est-ce qu'une série temporelle ? L'approche classique241
Pourquoi un focus sur les séries temporelles ?
241
Les méthodes exponentielles
243
Les méthodes probabilistes
245
Références
248
Chapitre 20
Machine learning et modélisation des séries temporelles249
Principes
249
Création de variables propres aux données ordonnées
250
Séries temporelles classiques250
Données comportementales : création de features par extraction de motifs séquentiels258
Traitement des valeurs manquantes265
Validation croisée pour les séries temporelles265
Références
266
Chapitre 21
Un cas pratique de modélisation : rendement d'une colonne de distillation269
Présentation du cas
269
Définition du modèle
270
Validation croisée et instabilité structurelle
271
Modélisation dynamique
275
Interprétation du modèle
278
Références
279
Chapitre 22
Clustering de séries temporelles281
Principes
281
Un exemple d'application
283
Classification à partir de séries brutes283
Classification à partir de métriques d'évaluation des séries286
Références
290
Conclusion générale291