Guide D'autoformation - R
Guide D'autoformation - R
Data Scientist
sciences. L’objectif de ce livre est de proposer une formation complète et opérationnelle sur les data sciences
qui permet de délivrer des solutions via l’usage du langage R.
et langage R
- le cas échéant de développer en langage R, y compris des algorithmes nouveaux et de beaux graphiques,
- ou tout simplement de manager une équipe projet comprenant des data scientists, en étant à même de
dialoguer avec eux de façon efficace.
Le livre ne se cantonne pas aux algorithmes du "machine learning", il aborde divers sujets importants comme
le traitement du langage naturel, les séries temporelles, la logique floue, la manipulation des images.
La dynamique de l’ouvrage soutient le lecteur pas à pas dans sa découverte des data sciences et l’évolution
de ses compétences théoriques et pratiques. Le praticien en exercice y découvrira également de nombreux
savoir-faire à acquérir et le manager pourra surfer sur l’ouvrage après avoir lu attentivement le bestiaire des
data sciences de l’introduction, qui sans inexactitude ou vulgarisation excessive présente le sujet en faisant
Guide d’autoformation
l’économie de mathématiques ou de formalismes dissuasifs.
Les programmes R décrits dans le livre sont accessibles en téléchargement sur le site [Link] et
peuvent être exécutés pas à pas.
54 €
Henri LAUDE
Table des matières 1
Chapitre 1
Introduction
1. Data scientist, un métier à la mode. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2. Les data-sciences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. Le Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4. La dynamique de cet ouvrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 Nos objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 La structure de l'ouvrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2.1 Les deux parcours complémentaires. . . . . . . . . . . . . . . . . 20
4.2.2 Ressources complémentaires à utiliser . . . . . . . . . . . . . . . 22
5. Petit bestiaire des data-sciences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1 Les fondamentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1.1 Apprentissage et classification . . . . . . . . . . . . . . . . . . . . . 24
5.1.2 Petit vocabulaire graphique du machine learning . . . . . . 25
5.1.3 Régression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.1.4 Régression linéaire généralisée . . . . . . . . . . . . . . . . . . . . . 42
5.1.5 Arbres de décision, prune, élagage . . . . . . . . . . . . . . . . . . 43
5.1.6 Clustering, k-means. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.1.7 k-NN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1.8 Modèles paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1.9 Lazy algorithm (algorithme paresseux) . . . . . . . . . . . . . . 46
5.1.10 Overfitting : sur-détermination, sur-apprentissage. . . . . 46
5.1.11 Validation croisée, régularisation, bagging . . . . . . . . . . . 47
5.1.12 Optimisation, méthode du gradient. . . . . . . . . . . . . . . . . 49
5.1.13 Algorithme glouton (greedy algorithm). . . . . . . . . . . . . . 51
2 Data Scientist et langage R
Guide d’autoformation à l'exploitation des Big Data
Chapitre 2
Premiers pas avec R
1. Installation des composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.1 Installation et lancement de R. . . . . . . . . . . . . . . . . . . . . . . . . . . 83
1.2 Installation et lancement de RStudio . . . . . . . . . . . . . . . . . . . . . 84
1.3 Installation de nouveaux packages . . . . . . . . . . . . . . . . . . . . . . . 86
1.4 Installation de packages : compléments . . . . . . . . . . . . . . . . . . . 88
2. Prise en main de R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.1 R, une calculatrice efficace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.2 R, un langage vectorisé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
2.3 Fonctions agissant sur des vectors. . . . . . . . . . . . . . . . . . . . . . . . 95
2.3.1 Une première analyse rapide des données . . . . . . . . . . . . 95
2.3.2 Quelques statistiques simples sur les vectors . . . . . . . . . 97
2.3.3 Trier un vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.3.4 Diverses fonctions avec somme, produit, min et max . 100
2.4 Types de données simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.4.1 Les booléens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.4.2 Les ensembles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
2.4.3 Les listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.4.4 Les facteurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.4.5 Les tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
2.5 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
2.5.1 Création et utilisation d'une fonction simple . . . . . . . . 127
2.5.2 Création d'un opérateur à partir d'une fonction
de deux variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
2.5.3 Usage des fonctions et portée des variables . . . . . . . . . . 129
2.5.4 Application des fonctions sur les matrices : apply . . . . 133
2.5.5 Les fonctions : compléments utiles . . . . . . . . . . . . . . . . 134
2.6 Structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
2.6.1 Des instructions communes avec d'autres langages . . . 140
2.6.2 Parcourir une matrice via des boucles for. . . . . . . . . . . . 142
2.7 Les chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
2.8 Le formatage des nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
4 Data Scientist et langage R
Guide d’autoformation à l'exploitation des Big Data
Chapitre 3
Maîtriser les bases
1. Se mettre en harmonie avec les données. . . . . . . . . . . . . . . . . . . . . . 215
1.1 Quelques notions fondatrices . . . . . . . . . . . . . . . . . . . . . . . . . . 216
1.1.1 Phénomène aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
1.1.2 Probabilité, variable aléatoire et distribution. . . . . . . . . 217
1.1.3 Un peu de mathématiques : notations
et définitions utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
1.1.4 Moments d'une variable aléatoire discrète X . . . . . . . . . 229
1.1.5 Premières considérations sur les erreurs
et estimations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
1.2 Se familiariser avec ses données. . . . . . . . . . . . . . . . . . . . . . . . . 239
1.2.1 R Commander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
1.2.2 Rattle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
2. Matrices et vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
2.1 Conventions, notations, utilisations basiques . . . . . . . . . . . . . 249
2.2 Matrices, vecteurs : vers une introduction
à la notion d'apprentissage supervisé . . . . . . . . . . . . . . . . . . . . 262
2.3 Plus loin dans la manipulation des matrices avec R . . . . . . . . . 264
2.3.1 Opérations basiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
2.3.2 Quelques savoir-faire utiles sur les matrices de R . . . . . 265
2.3.3 Normes de vecteurs et normes de matrices . . . . . . . . . . 269
2.3.4 Matrices et vecteurs : diverses syntaxes utiles . . . . . . . 274
3. Estimations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
3.1 Positionnement du problème d'estimation . . . . . . . . . . . . . . . . 279
3.1.1 Formulation générale du problème. . . . . . . . . . . . . . . . . 279
3.1.2 Application et reformulation
du problème d'estimation . . . . . . . . . . . . . . . . . . . . . . . . 282
3.2 Les indicateurs d'écart utilisés en machine learning. . . . . . . . . 293
3.2.1 MSE, RMSE, SSE, SST . . . . . . . . . . . . . . . . . . . . . . . . . . 293
3.2.2 MAE, ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
3.2.3 NRMSE/NRMSD, CV_MRSE . . . . . . . . . . . . . . . . . . . . 297
3.2.4 SDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
6 Data Scientist et langage R
Guide d’autoformation à l'exploitation des Big Data
Chapitre 4
Techniques et algorithmes incontournables
1. Constituer sa boîte à outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
2. Représentation graphique des données . . . . . . . . . . . . . . . . . . . . . . . 326
2.1 Un graphique "simple" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
2.2 Histogrammes évolués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
2.2.1 Distribution multiclasse . . . . . . . . . . . . . . . . . . . . . . . . . 329
2.2.2 Mixture de plusieurs distributions par classe . . . . . . . . 331
2.2.3 Visualisation de la densité d'une distribution . . . . . . . . 332
2.2.4 Une autre mixture par classe . . . . . . . . . . . . . . . . . . . . . 333
2.2.5 Une variable, mais un histogramme
pour chaque classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
2.2.6 Graphique avec une densité par classe . . . . . . . . . . . . . . 336
2.3 Diagramme par paires et à facettes . . . . . . . . . . . . . . . . . . . . . . 338
2.3.1 Diagramme par paires, version simple . . . . . . . . . . . . . . 338
2.3.2 Classes en configuration XOR . . . . . . . . . . . . . . . . . . . . 339
2.3.3 Diagramme par paires avec "factors" . . . . . . . . . . . . . . . 341
2.3.4 Facettes et échelle logarithmique . . . . . . . . . . . . . . . . . . 345
Table des matières 7
Chapitre 5
Cadre méthodologique du data scientist
1. Le problème méthodologique au niveau du projet . . . . . . . . . . . . . . 395
1.1 L'expression du besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
1.2 La gestion du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
2. Le cycle interne des data-sciences . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
2.1 Revue de détail du problème posé . . . . . . . . . . . . . . . . . . . . . . . 400
2.2 Travaux préliminaires sur les données . . . . . . . . . . . . . . . . . . . 401
2.2.1 Exigences sur les données . . . . . . . . . . . . . . . . . . . . . . . . 401
2.2.2 Collecte, nettoyage et compréhension des données . . . 402
2.3 Le cycle de modélisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
2.3.1 Feature engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
2.3.2 Modélisation et évaluation . . . . . . . . . . . . . . . . . . . . . . . 405
2.3.3 Choix du meilleur modèle. . . . . . . . . . . . . . . . . . . . . . . . 406
8 Data Scientist et langage R
Guide d’autoformation à l'exploitation des Big Data
Chapitre 6
Traitement du langage naturel
1. Positionnement du problème. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
2. Analyse sémantique latente et SVD . . . . . . . . . . . . . . . . . . . . . . . . . 416
2.1 Aspects théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
2.1.1 SVD : généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
2.1.2 Une justification de la décomposition SVD . . . . . . . . . 418
2.1.3 SVD dans le contexte LSA . . . . . . . . . . . . . . . . . . . . . . . 418
2.1.4 Interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
2.1.5 Alternative non linéaire, Isomap (MDS, géodésique,
variété, manifold) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
2.2 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
2.2.1 Initialisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
2.2.2 Au cœur de LSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
2.2.3 Résultats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
2.2.4 Manipulations, interprétations récréatives
et non fondées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Table des matières 9
Chapitre 7
Graphes et réseaux
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
2. Premiers pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
2.1 Quelques notions et notations complémentaires basiques . . . 432
2.2 Manipulations simples de graphes avec R . . . . . . . . . . . . . . . . 434
2.3 Structure des graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
3. Graphes et réseaux (sociaux) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
3.1 Analyse des réseaux sociaux : concepts de base . . . . . . . . . . . . 450
3.2 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
3.3 Détection de communautés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Chapitre 8
Autres problèmes, autres solutions
1. Séries temporelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
1.2 Modèle stationnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
1.2.1 Processus stationnaire : les bases . . . . . . . . . . . . . . . . . . 467
1.2.2 Processus autorégressif AR : aller plus loin . . . . . . . . . . 469
1.2.3 Considérations (très) utiles. . . . . . . . . . . . . . . . . . . . . . . 471
1.3 Processus non stationnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
1.3.1 Le modèle ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
1.3.2 Processus saisonniers : SARIMA. . . . . . . . . . . . . . . . . . . 474
1.3.3 Modèles ARCH et GARCH . . . . . . . . . . . . . . . . . . . . . . 475
1.3.4 Convolution et filtres linéaires . . . . . . . . . . . . . . . . . . . . 478
1.4 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
1.4.1 Les bases de la manipulation des séries
temporelles en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
1.4.2 Étude de séries temporelles . . . . . . . . . . . . . . . . . . . . . . . 486
1.4.3 Prédictions sur ARIMA (AR MA SARIMA) . . . . . . . . . 492
1.5 Mini bestiaire ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
10 Data Scientist et langage R
Guide d’autoformation à l'exploitation des Big Data
Chapitre 9
Feature Engineering
1. Feature Engineering, les bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
1.1 Positionnement du problème. . . . . . . . . . . . . . . . . . . . . . . . . . . 517
1.2 Ce sur quoi il faut être très attentif. . . . . . . . . . . . . . . . . . . . . . 518
1.2.1 La qualité de la distribution . . . . . . . . . . . . . . . . . . . . . . 518
1.2.2 La nature des features . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
1.3 Maîtriser la dimensionnalité . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
1.4 Une solution éprouvée : la PCA. . . . . . . . . . . . . . . . . . . . . . . . . 525
1.5 Un exemple simple d'utilisation de la PCA. . . . . . . . . . . . . . . . 525
1.6 Les valeurs inconnues et les features mal conditionnées . . . . . 534
1.7 Création de nouvelles features. . . . . . . . . . . . . . . . . . . . . . . . . . 537
1.8 En guise de conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
2. PCA classique, éléments mathématiques . . . . . . . . . . . . . . . . . . . . . 541
3. Réduction des données (data reduction). . . . . . . . . . . . . . . . . . . . . . 544
4. Réduction de la dimensionnalité et entropie . . . . . . . . . . . . . . . . . . 545
4.1 Description théorique du problème. . . . . . . . . . . . . . . . . . . . . . 545
4.2 Implémentation en R et discussion. . . . . . . . . . . . . . . . . . . . . . 548
Table des matières 11
Chapitre 10
Compléments utiles
1. GAM : généralisation de LM/GLM . . . . . . . . . . . . . . . . . . . . . . . . . . 557
2. Manipulation d'images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
2.1 Création, visualisation, lecture et écriture d'images. . . . . . . . . 560
2.2 Transformations des images . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
2.2.1 Exemples de manipulation de la couleur
et des intensités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
2.2.2 Exemples de manipulation de la géométrie de l'image . 570
2.2.3 Application de filtres sur les images . . . . . . . . . . . . . . . . 573
3. Comment créer un échantillon : LHS (hypercube latin) . . . . . . . . . 575
4. Travailler sur des données spatiales. . . . . . . . . . . . . . . . . . . . . . . . . . 577
4.1 Variogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
4.1.1 Champ et variable régionalisée . . . . . . . . . . . . . . . . . . . . 577
4.1.2 Détermination du variogramme. . . . . . . . . . . . . . . . . . . 584
4.2 Krigeage (kriging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
4.2.1 La théorie, en bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
4.2.2 Implémentation en R . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
5. Savoir-faire utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
5.1 Tracer une courbe ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
5.2 Un réseau neuronal (premiers pas vers le deeplearning) . . . . . 593
6. Gradient Boosting et Generalized Boosted Regression . . . . . . . . . . 598
6.1 Les grands principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
6.2 Les paramètres et les usages (package GBM) . . . . . . . . . . . . . . 600
6.2.1 Covariance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
6.2.2 Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
6.2.3 Optimisation de l'algorithme . . . . . . . . . . . . . . . . . . . . . 601
6.3 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
12 Data Scientist et langage R
Guide d’autoformation à l'exploitation des Big Data
Annexes
1. De l'utilité de ces annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
2. Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
3. Stratégies suivant la nature des données . . . . . . . . . . . . . . . . . . . . . 607
3.1 Comptages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
3.2 Proportions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
3.3 Variable de réponse binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
3.4 Données induisant un modèle mixte (mixed effect) . . . . . . . . 608
3.5 Données spatiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
3.6 Graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
3.7 Analyse de survie (survival analysis) . . . . . . . . . . . . . . . . . . . . . 610
4. Filtres (sur images) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
5. Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
6. Astuces et petits conseils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
6.1 Sur les tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
6.2 Gestion des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
6.3 Analyse et manipulation de résultats . . . . . . . . . . . . . . . . . . . . 619
6.3.1 Résidus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
6.3.2 Manipulation des modèles . . . . . . . . . . . . . . . . . . . . . . . 619
7. Packages et thèmes à étudier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
7.1 Création de graphiques JavaScript via R. . . . . . . . . . . . . . . . . . 620
7.2 Créer des jointures comme en SQL . . . . . . . . . . . . . . . . . . . . . . 620
7.3 Règles d'association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
7.4 Exporter un modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
7.5 Tenseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
7.6 SVM pour la détection de nouveautés (novelty detection) . . . 622
8. Vocabulaire et "tricks of the trade" . . . . . . . . . . . . . . . . . . . . . . . . . . 622
8.1 Compléments sur les bases du machine learning . . . . . . . . . . . 622
8.2 Compléments sur les aspects bayésiens . . . . . . . . . . . . . . . . . . 624
8.3 Vocabulaire (dont anglais) des modèles gaussiens . . . . . . . . . . 626
Table des matières 13
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Chapitre 5
Cadre méthodologique
du data scientist
1. Le problème méthodologique au niveau du projet
Cadre méthodologique du data scientis t
– Je voudrais valoriser ces données (profiter de la ruée vers l'or des data).
– Je ne veux pas "louper le coche" du Big Data.
– Je voudrais fournir de nouveaux services et produits à mes clients.
– Je veux révolutionner mon offre (disruption).
– Je veux digitaliser mon organisation.
– Je voudrais optimiser ou transformer mes processus.
– Je voudrais anticiper les mouvements du marché, des concurrents, le churn
(fidélité client)...
La démarche d'extraction du besoin est en fait une démarche d'ajustement
mutuel. L'idée étant d'établir un cycle qui permette au "client interne" et au
data scientist (ici un business analyst ou un directeur de projet compétent en
data-sciences) de partager au moins les cinq aspects fondamentaux suivants :
– Des critères de réussite communs permettant de juger à terme de la réussite
de leur projet de data-sciences (KPI : key business/process/product/project indi-
cators).
– Une compréhension commune de ce qui peut être espéré du traitement de
ces données (contrôle, compréhension, connaissances nouvelles, requêtes
nouvelles, optimisation, décision, alerte, anticipation, prédiction, supervi-
sion, réalité augmentée, automatisation...).
– Des cas d'utilisation de ce qui sera produit par le projet.
– Une compréhension commune des données nécessaires à la mise en œuvre
du projet (nature, volume, exhaustivité, provenance, temporalité, fiabilité,
propriété, coût, confidentialité...).
– Les éléments logistiques nécessaires au projet (budget, architecture, plan
projet).
Une fois le prototype et/ou le projet lancé(s), le chef du projet prend toutes les
initiatives nécessaires pour faire converger l'ensemble dans le respect de la
note cadrage.
Comme la nature même d'un projet de data-sciences implique de nombreuses
remises en cause et de nombreuses évolutions, les éléments de la note de
cadrage seront parfois à amender et le besoin à retravailler. Le chef de projet
devra trouver des modalités de gestion de projet telles que les différents
acteurs pourront être impliqués dans ces évolutions (et au minimum
informés !). Le pilotage du projet devra intégrer des processus de décision com-
patibles avec la variabilité intrinsèque de ce type de projet.
Une excellente façon de procéder est de travailler sous un cadre itératif d'en-
gagement progressif. À chaque itération, on précise l'ensemble des itéra-
tions suivantes et évidemment le contenu précis de la toute prochaine
itération.
C'est un cycle agile, mais il n'est pas judicieux d'implémenter toutes les
meilleures techniques de l'agilité issues des pratiques de développement
informatique : la psychologie du data scientist ne doit pas se calquer sur la
psychologie type d'un développeur efficace ou d'un créateur de startup.
En tant que chef de projet d'équipe de data scientists, évitez le recours systé-
matique aux stand-up meetings, au Scrum, au peer-programming et en géné-
ral aux techniques de socialisation systématique de l'équipe. Ce sont
d'excellentes méthodes, mais le cycle de réflexion R&D ne s'y prête pas, en
tout cas pas pendant les premières itérations. Laissez les data scientists plon-
ger au plus profond d'eux-mêmes, intéressez-vous à leurs réflexions et leurs
pratiques, laissez l'équipe se raconter ou douter.
Le chef de projet ne doit se focaliser sur les livrables des data scientists qu'à
deux jalons bien précis d'une itération : en début d'itération pour donner une
forte impulsion (kick-off) et avant le dernier tiers de celle-ci pour collecter des
engagements définitifs quant à ce qui sera réellement livré (commitments) et
s'assurer que les data scientists accompagneront leur livraison par une docu-
mentation de qualité et des composants bien référencés (voir plus loin dans ce
chapitre).
398 Data Scientist et langage R
Guide d’autoformation à l'exploitation des Big Data
Évidemment, il faut favoriser les transferts de compétence des seniors vers les
juniors, les conceptions collaboratives et induire des séances d'échange face au
tableau blanc, marqueur à la main. Tout cela doit se faire dans le respect du
rythme de réflexion de chacun et sans arrière-pensée de contrôle. On ne
contrôle pas la R&D et la créativité, on les favorise !
Pour compenser la nature aléatoire d'une telle démarche ouverte, scientifique
et créative, un plan projet simple doit être géré avec rigueur et pragmatisme.
Sans excès de formalisme et particulièrement compact, il permet à chaque
membre de l'équipe d'avoir en ligne de mire les éléments importants de l'ité-
ration en cours et rappelle les règles de gestion de configuration. Tout
membre de l'équipe est réputé avoir lu et compris le plan projet et en par-
ticulier tout ce qui concerne ses responsabilités dans la prochaine itération :
nul n'est censé ignorer la loi !
Le plan projet met en exergue les grands jalons du projet et précise d'éventuels
jalons importants de l'itération. Dans ce plan projet, chaque information com-
portant une incertitude est entachée d'une imprécision bien énoncée, par
exemple : "telle action sera effectuée en 10 à 20 jours/hommes et débouchera
au minimum sur ceci et au mieux sur cela". Les objectifs de la prochaine itéra-
tion comportent la liste des livrables majeurs dans un état de finition identifié
et un RACI minimum (Responsible = Doer, Accountable, Consulted, Informed).
Chaque livrable majeur possède une priorisation propre et ses incertitudes
propres (c'est-à-dire optionnel ou pas dans le prochain cycle, exigences clés du
livrable, estimation de charge du livrable, éléments de réception minimum du
livrable). Le plan de l'itération est discuté et amendé par l'équipe au début
de chaque itération. Les objectifs, les attentes (y compris psychologiques) et
les engagements vis-à-vis du client interne sont rappelés lors du kick-off.
Remarque