Guide d’autoformation à l’exploitation des Big Data Data...

20
Henri LAUDE Data Scientist et langage R Guide d’autoformation à l’exploitation des Big Data

Transcript of Guide d’autoformation à l’exploitation des Big Data Data...

Page 1: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

Dat

a Sc

ient

ist e

t lan

gage

R

Data Scientist et langage R Guide d’autoformation à l’exploitation des Big Data

Henri LAUDE est un professionnel reconnu des Computer Sciences. Il a encadré de nombreux tra-vaux de R&D autour des data sciences, connexes à l’intelligence économique, à l’IA, aux risques, à la détection de fraudes et à la cyberdéfense. Prési-dent de l’APIEC (Association pour la Promotion de l’Intelligence Economique), Chief Data Scientist et fondateur du Laboratoire de Data Sciences et Big Data BlueDsX du groupe BlueSoft, il est également co-fondateur de la startup Advanced Research Partners, où il anime la conception d’algorithmes très novateurs implémentés en R et en Python sur des plate-formes Hadoop et Spark. C’est un passionné de data sciences et il ambitionne de transformer tous les lecteurs de son livre en data geeks ou tout au moins de leur donner suffisam-ment de culture générale sur le sujet pour servir leurs objectifs.

Tous les experts s’accordent à dire que 90% des usages du Big Data proviennent de l’utilisation des data 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. Ainsi, l’auteur propose un parcours didactique et professionnalisant qui, sans autre pré-requis qu’un niveau Bac en mathématiques et une grande curiosité, permet au lecteur :- de s’intégrer à une équipe de data scientists, - d’aborder des articles de recherche possédant une haute teneur en mathématiques, - 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 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 www.editions-eni.fr et peuvent être exécutés pas à pas.

Introduction • Premiers pas avec R • Maîtriser les bases • Techniques et algorithmes incontournables • Cadre méthodologique du data scientist • Traite-ment du langage naturel • Graphes et réseaux • Autres problèmes, autres solutions • Feature Engi-neering • Compléments utiles • Annexes

Les chapitres du livre

Téléchargementwww.editions-eni.fr.fr

sur www.editions-eni.fr : b Le code de tous les exemples du livre.b Les fichiers de données

nécessaires aux exemples.

ISSN : 1960-3444ISBN : 978-2-409-00043-0

54 €

Pour plus d’informations :

Henri LAUDE

Data Scientist et langage R

Guide d’autoformation à l’exploitation des Big Data

Page 2: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

1Table des matières

Chapitre 1Introduction

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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.1 Nos objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.2 La structure de l'ouvrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2.1 Les deux parcours complémentaires. . . . . . . . . . . . . . . . . 204.2.2 Ressources complémentaires à utiliser . . . . . . . . . . . . . . . 22

5. Petit bestiaire des data-sciences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.1 Les fondamentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.1.1 Apprentissage et classification . . . . . . . . . . . . . . . . . . . . . 245.1.2 Petit vocabulaire graphique du machine learning . . . . . . 255.1.3 Régression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.1.4 Régression linéaire généralisée . . . . . . . . . . . . . . . . . . . . . 425.1.5 Arbres de décision, prune, élagage . . . . . . . . . . . . . . . . . . 435.1.6 Clustering, k-means. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.1.7 k-NN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.1.8 Modèles paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . 455.1.9 Lazy algorithm (algorithme paresseux) . . . . . . . . . . . . . . 465.1.10 Overfitting : sur-détermination, sur-apprentissage. . . . . 465.1.11 Validation croisée, régularisation, bagging . . . . . . . . . . . 475.1.12 Optimisation, méthode du gradient. . . . . . . . . . . . . . . . . 495.1.13 Algorithme glouton (greedy algorithm). . . . . . . . . . . . . . 51

Les éléments à télécharger sont disponibles à l'adresse suivante :http://www.editions-eni.fr

Saisissez la référence de l'ouvrage EPDASR dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Page 3: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

2Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

5.1.14 Programmation linéaire, simplexe, point intérieur . . . . . 515.1.15 Estimation via la méthode de Monte-Carlo. . . . . . . . . . . 535.1.16 Entropie, indépendance et information mutuelle . . . . . . 555.1.17 Discrétisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.2 Méthodes "ensemble" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.2.1 Random forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.2.2 AdaBoost (adaptative boosting) . . . . . . . . . . . . . . . . . . . . 59

5.3 Lois de probabilité et distribution . . . . . . . . . . . . . . . . . . . . . . . . 615.3.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.3.2 Petit bestiaire des lois de probabilité . . . . . . . . . . . . . . . . 64

5.4 Les graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.4.1 Vocabulaire de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.4.2 Conversion d'un tableau d'observations

en graphe, similarité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6. Informatique professionnelle et data-sciences . . . . . . . . . . . . . . . . . . 706.1 La technologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.2 Business Intelligence versus Big Data . . . . . . . . . . . . . . . . . . . . . 74

6.2.1 Différences en termes d'architecture . . . . . . . . . . . . . . . . 746.2.2 Différences en termes d'usage. . . . . . . . . . . . . . . . . . . . . . 756.2.3 En synthèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

7. Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767.1 Notations des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777.2 Autres notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

7.2.1 Fonctions et applications … f(x), d(x,y) … . . . . . . . . . . . 797.2.2 Quelques confusions possibles . . . . . . . . . . . . . . . . . . . . . 79

8. À vous de jouer ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Page 4: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

3Table des matières

Chapitre 2Premiers pas avec R

1. Installation des composants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831.1 Installation et lancement de R. . . . . . . . . . . . . . . . . . . . . . . . . . . 831.2 Installation et lancement de RStudio . . . . . . . . . . . . . . . . . . . . . 841.3 Installation de nouveaux packages . . . . . . . . . . . . . . . . . . . . . . . 861.4 Installation de packages : compléments . . . . . . . . . . . . . . . . . . . 88

2. Prise en main de R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902.1 R, une calculatrice efficace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912.2 R, un langage vectorisé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922.3 Fonctions agissant sur des vectors. . . . . . . . . . . . . . . . . . . . . . . . 95

2.3.1 Une première analyse rapide des données . . . . . . . . . . . . 952.3.2 Quelques statistiques simples sur les vectors . . . . . . . . . 972.3.3 Trier un vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982.3.4 Diverses fonctions avec somme, produit, min et max . 100

2.4 Types de données simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012.4.1 Les booléens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012.4.2 Les ensembles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1032.4.3 Les listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052.4.4 Les facteurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062.4.5 Les tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

2.5 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1272.5.1 Création et utilisation d'une fonction simple . . . . . . . . 1272.5.2 Création d'un opérateur à partir d'une fonction

de deux variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282.5.3 Usage des fonctions et portée des variables . . . . . . . . . . 1292.5.4 Application des fonctions sur les matrices : apply . . . . 1332.5.5 Les fonctions : compléments utiles . . . . . . . . . . . . . . . . 134

2.6 Structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1402.6.1 Des instructions communes avec d'autres langages . . . 1402.6.2 Parcourir une matrice via des boucles for. . . . . . . . . . . . 142

2.7 Les chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1452.8 Le formatage des nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Page 5: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

4Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

2.9 Les dates et les temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502.10 Mesure de la durée d'un algorithme . . . . . . . . . . . . . . . . . . . . . 1502.11 Les nombres complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

2.11.1 Manipulations de base des nombres complexes . . . . . . 1562.11.2 Visualisation de nombres complexes . . . . . . . . . . . . . . . 157

2.12 Programmation orientée objet . . . . . . . . . . . . . . . . . . . . . . . . . . 1582.12.1 Classes et objets, en bref . . . . . . . . . . . . . . . . . . . . . . . . . 1592.12.2 Constructeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1652.12.3 Héritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1682.12.4 Objets mutables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1722.12.5 Gestion de pile : implémentation

Orientée Objet avec RC . . . . . . . . . . . . . . . . . . . . . . . . . 173

3. Manipulation des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1793.1 Lecture des données : les bases . . . . . . . . . . . . . . . . . . . . . . . . . 1793.2 Manipulation des colonnes d'un data.frame. . . . . . . . . . . . . . . 1823.3 Calculs simples sur un data.frame. . . . . . . . . . . . . . . . . . . . . . . 183

3.3.1 Calculs sur les colonnes et les lignes . . . . . . . . . . . . . . . 1833.3.2 Manipulation des lignes . . . . . . . . . . . . . . . . . . . . . . . . . 1843.3.3 Application : comparaison effectifs de classes et Khi-2 1883.3.4 Création de colonnes calculées . . . . . . . . . . . . . . . . . . . . 1903.3.5 Tri d'un data.frame via order() . . . . . . . . . . . . . . . . . . . . 196

3.4 Analyse visuelle des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 1983.4.1 Visualisation simple des données . . . . . . . . . . . . . . . . . . 1983.4.2 Visualisation des variables numériques 2 à 2

avec mention des classes . . . . . . . . . . . . . . . . . . . . . . . . 2003.4.3 Corrélations entre variables numériques . . . . . . . . . . . . 2033.4.4 Séparation par classe, ggplot2, qplot . . . . . . . . . . . . . . . 2053.4.5 Visualisation 3D, relation entre trois

variables numériques. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2063.4.6 Graphiques par paires . . . . . . . . . . . . . . . . . . . . . . . . . . . 2073.4.7 Boîtes à moustaches et tentative d'élimination

des outliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2083.4.8 Création d'un modèle par arbre de décision. . . . . . . . . . 211

Page 6: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

5Table des matières

Chapitre 3Maîtriser les bases

1. Se mettre en harmonie avec les données. . . . . . . . . . . . . . . . . . . . . . 2151.1 Quelques notions fondatrices . . . . . . . . . . . . . . . . . . . . . . . . . . 216

1.1.1 Phénomène aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161.1.2 Probabilité, variable aléatoire et distribution. . . . . . . . . 2171.1.3 Un peu de mathématiques : notations

et définitions utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2211.1.4 Moments d'une variable aléatoire discrète X . . . . . . . . . 2291.1.5 Premières considérations sur les erreurs

et estimations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2381.2 Se familiariser avec ses données. . . . . . . . . . . . . . . . . . . . . . . . . 239

1.2.1 R Commander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2411.2.2 Rattle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

2. Matrices et vecteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2492.1 Conventions, notations, utilisations basiques . . . . . . . . . . . . . 2492.2 Matrices, vecteurs : vers une introduction

à la notion d'apprentissage supervisé . . . . . . . . . . . . . . . . . . . . 2622.3 Plus loin dans la manipulation des matrices avec R . . . . . . . . . 264

2.3.1 Opérations basiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2642.3.2 Quelques savoir-faire utiles sur les matrices de R . . . . . 2652.3.3 Normes de vecteurs et normes de matrices . . . . . . . . . . 2692.3.4 Matrices et vecteurs : diverses syntaxes utiles . . . . . . . 274

3. Estimations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2793.1 Positionnement du problème d'estimation . . . . . . . . . . . . . . . . 279

3.1.1 Formulation générale du problème. . . . . . . . . . . . . . . . . 2793.1.2 Application et reformulation

du problème d'estimation . . . . . . . . . . . . . . . . . . . . . . . . 2823.2 Les indicateurs d'écart utilisés en machine learning. . . . . . . . . 293

3.2.1 MSE, RMSE, SSE, SST . . . . . . . . . . . . . . . . . . . . . . . . . . 2933.2.2 MAE, ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2953.2.3 NRMSE/NRMSD, CV_MRSE . . . . . . . . . . . . . . . . . . . . 2973.2.4 SDR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298

Page 7: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

6Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

3.2.5 Accuracy, R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

4. Mise en pratique : apprentissage supervisé. . . . . . . . . . . . . . . . . . . . 3024.1 Préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3024.2 Tester des hypothèses, p_value . . . . . . . . . . . . . . . . . . . . . . . . . 304

4.2.1 Analyse graphique interactive avec iplots . . . . . . . . . . . 3054.2.2 Test de Breush-Pagan et zoom sur p_value . . . . . . . . . . 306

4.3 Création d'un modèle (régression linéaire multiple) . . . . . . . . 3074.4 Établissement d'une prédiction . . . . . . . . . . . . . . . . . . . . . . . . . 3074.5 Étude des résultats et représentations graphiques . . . . . . . . . . 3094.6 Indicateurs courants - calculs . . . . . . . . . . . . . . . . . . . . . . . . . . 3134.7 Étude du modèle linéaire généré . . . . . . . . . . . . . . . . . . . . . . . . 3144.8 Conclusion sur le modèle linéaire . . . . . . . . . . . . . . . . . . . . . . . 3214.9 Utilisation d'un modèle "Random Forest". . . . . . . . . . . . . . . . . 322

Chapitre 4Techniques et algorithmes incontournables

1. Constituer sa boîte à outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

2. Représentation graphique des données . . . . . . . . . . . . . . . . . . . . . . . 3262.1 Un graphique "simple" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3262.2 Histogrammes évolués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

2.2.1 Distribution multiclasse . . . . . . . . . . . . . . . . . . . . . . . . . 3292.2.2 Mixture de plusieurs distributions par classe . . . . . . . . 3312.2.3 Visualisation de la densité d'une distribution . . . . . . . . 3322.2.4 Une autre mixture par classe . . . . . . . . . . . . . . . . . . . . . 3332.2.5 Une variable, mais un histogramme

pour chaque classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3342.2.6 Graphique avec une densité par classe . . . . . . . . . . . . . . 336

2.3 Diagramme par paires et à facettes . . . . . . . . . . . . . . . . . . . . . . 3382.3.1 Diagramme par paires, version simple . . . . . . . . . . . . . . 3382.3.2 Classes en configuration XOR . . . . . . . . . . . . . . . . . . . . 3392.3.3 Diagramme par paires avec "factors" . . . . . . . . . . . . . . . 3412.3.4 Facettes et échelle logarithmique . . . . . . . . . . . . . . . . . . 345

Page 8: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

7Table des matières

3. Machine learning : pratiques courantes . . . . . . . . . . . . . . . . . . . . . . 3463.1 Parcours théorique accéléré . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

3.1.1 Linéarité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3473.1.2 Erreurs in et out, notion de VC dimension . . . . . . . . . . 3493.1.3 Hyperplans, séparabilité avec marges. . . . . . . . . . . . . . . 3533.1.4 Kernel Trick, noyaux, transformations, feature space . 3553.1.5 Problèmes de la régression : introduction

à la régularisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3603.2 Pratique par pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

3.2.1 Cross validation : k-fold CV . . . . . . . . . . . . . . . . . . . . . . 3663.2.2 Naive Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3683.2.3 C4.5 et C5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3753.2.4 Support Vector Machines (SVM). . . . . . . . . . . . . . . . . . 3773.2.5 Clusterisation, k-means . . . . . . . . . . . . . . . . . . . . . . . . . 382

4. Où en sommes-nous dans notre apprentissage ? . . . . . . . . . . . . . . . 3934.1 Vos acquis opérationnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3934.2 Les lacunes éventuelles à combler maintenant . . . . . . . . . . . . . 394

Chapitre 5Cadre méthodologique du data scientist

1. Le problème méthodologique au niveau du projet . . . . . . . . . . . . . . 3951.1 L'expression du besoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3951.2 La gestion du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

2. Le cycle interne des data-sciences . . . . . . . . . . . . . . . . . . . . . . . . . . . 3992.1 Revue de détail du problème posé . . . . . . . . . . . . . . . . . . . . . . . 4002.2 Travaux préliminaires sur les données . . . . . . . . . . . . . . . . . . . 401

2.2.1 Exigences sur les données . . . . . . . . . . . . . . . . . . . . . . . . 4012.2.2 Collecte, nettoyage et compréhension des données . . . 402

2.3 Le cycle de modélisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4032.3.1 Feature engineering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4032.3.2 Modélisation et évaluation . . . . . . . . . . . . . . . . . . . . . . . 4052.3.3 Choix du meilleur modèle. . . . . . . . . . . . . . . . . . . . . . . . 406

Page 9: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

8Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

2.3.4 Test, interprétation et confrontation avec le métier. . . 4062.4 Préparation de l'industrialisation et déploiement. . . . . . . . . . . 4082.5 Préparation des itérations suivantes . . . . . . . . . . . . . . . . . . . . . 409

2.5.1 Éléments à prendre en compte . . . . . . . . . . . . . . . . . . . . 4092.5.2 Documentation gérée par les data scientists . . . . . . . . . 410

3. Compléments méthodologiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4113.1 Classifier vos objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4113.2 Trucs et astuces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412

Chapitre 6Traitement du langage naturel

1. Positionnement du problème. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415

2. Analyse sémantique latente et SVD . . . . . . . . . . . . . . . . . . . . . . . . . 4162.1 Aspects théoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

2.1.1 SVD : généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4172.1.2 Une justification de la décomposition SVD . . . . . . . . . 4182.1.3 SVD dans le contexte LSA . . . . . . . . . . . . . . . . . . . . . . . 4182.1.4 Interprétation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4192.1.5 Alternative non linéaire, Isomap (MDS, géodésique,

variété, manifold) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4212.2 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421

2.2.1 Initialisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4212.2.2 Au cœur de LSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4242.2.3 Résultats. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4252.2.4 Manipulations, interprétations récréatives

et non fondées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

Page 10: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

9Table des matières

Chapitre 7Graphes et réseaux

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

2. Premiers pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4312.1 Quelques notions et notations complémentaires basiques . . . 4322.2 Manipulations simples de graphes avec R . . . . . . . . . . . . . . . . 4342.3 Structure des graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

3. Graphes et réseaux (sociaux) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4493.1 Analyse des réseaux sociaux : concepts de base . . . . . . . . . . . . 4503.2 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4533.3 Détection de communautés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456

Chapitre 8Autres problèmes, autres solutions

1. Séries temporelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4651.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4651.2 Modèle stationnaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466

1.2.1 Processus stationnaire : les bases . . . . . . . . . . . . . . . . . . 4671.2.2 Processus autorégressif AR : aller plus loin . . . . . . . . . . 4691.2.3 Considérations (très) utiles. . . . . . . . . . . . . . . . . . . . . . . 471

1.3 Processus non stationnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4731.3.1 Le modèle ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4731.3.2 Processus saisonniers : SARIMA. . . . . . . . . . . . . . . . . . . 4741.3.3 Modèles ARCH et GARCH . . . . . . . . . . . . . . . . . . . . . . 4751.3.4 Convolution et filtres linéaires . . . . . . . . . . . . . . . . . . . . 478

1.4 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4811.4.1 Les bases de la manipulation des séries

temporelles en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4821.4.2 Étude de séries temporelles . . . . . . . . . . . . . . . . . . . . . . . 4861.4.3 Prédictions sur ARIMA (AR MA SARIMA) . . . . . . . . . 492

1.5 Mini bestiaire ARIMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496

Page 11: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

10Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

2. Systèmes flous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499

3. Essaim (swarm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5093.1 Swarm et optimisation : l'algorithme PSO . . . . . . . . . . . . . . . 509

3.1.1 Présentation de PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5103.1.2 Description de PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510

3.2 Mise en pratique de PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513

Chapitre 9Feature Engineering

1. Feature Engineering, les bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5171.1 Positionnement du problème. . . . . . . . . . . . . . . . . . . . . . . . . . . 5171.2 Ce sur quoi il faut être très attentif. . . . . . . . . . . . . . . . . . . . . . 518

1.2.1 La qualité de la distribution . . . . . . . . . . . . . . . . . . . . . . 5181.2.2 La nature des features . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

1.3 Maîtriser la dimensionnalité . . . . . . . . . . . . . . . . . . . . . . . . . . . 5221.4 Une solution éprouvée : la PCA. . . . . . . . . . . . . . . . . . . . . . . . . 5251.5 Un exemple simple d'utilisation de la PCA. . . . . . . . . . . . . . . . 5251.6 Les valeurs inconnues et les features mal conditionnées . . . . . 5341.7 Création de nouvelles features. . . . . . . . . . . . . . . . . . . . . . . . . . 5371.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 . . . . . . . . . . . . . . . . . . 5454.1 Description théorique du problème. . . . . . . . . . . . . . . . . . . . . . 5454.2 Implémentation en R et discussion. . . . . . . . . . . . . . . . . . . . . . 548

Page 12: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

11Table des matières

Chapitre 10Compléments utiles

1. GAM : généralisation de LM/GLM . . . . . . . . . . . . . . . . . . . . . . . . . . 557

2. Manipulation d'images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5592.1 Création, visualisation, lecture et écriture d'images. . . . . . . . . 5602.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 . 5702.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. . . . . . . . . . . . . . . . . . . . . . . . . . 5774.1 Variogramme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

4.1.1 Champ et variable régionalisée . . . . . . . . . . . . . . . . . . . . 5774.1.2 Détermination du variogramme. . . . . . . . . . . . . . . . . . . 584

4.2 Krigeage (kriging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5874.2.1 La théorie, en bref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5874.2.2 Implémentation en R . . . . . . . . . . . . . . . . . . . . . . . . . . . 588

5. Savoir-faire utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5905.1 Tracer une courbe ROC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5905.2 Un réseau neuronal (premiers pas vers le deeplearning) . . . . . 593

6. Gradient Boosting et Generalized Boosted Regression . . . . . . . . . . 5986.1 Les grands principes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5986.2 Les paramètres et les usages (package GBM) . . . . . . . . . . . . . . 600

6.2.1 Covariance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6006.2.2 Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6006.2.3 Optimisation de l'algorithme . . . . . . . . . . . . . . . . . . . . . 601

6.3 Mise en pratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601

Page 13: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

12Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

Annexes

1. De l'utilité de ces annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605

2. Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605

3. Stratégies suivant la nature des données . . . . . . . . . . . . . . . . . . . . . 6073.1 Comptages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6073.2 Proportions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6083.3 Variable de réponse binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6083.4 Données induisant un modèle mixte (mixed effect) . . . . . . . . 6083.5 Données spatiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6103.6 Graphes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6103.7 Analyse de survie (survival analysis) . . . . . . . . . . . . . . . . . . . . . 610

4. Filtres (sur images) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611

5. Distances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614

6. Astuces et petits conseils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6186.1 Sur les tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6186.2 Gestion des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6186.3 Analyse et manipulation de résultats . . . . . . . . . . . . . . . . . . . . 619

6.3.1 Résidus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6196.3.2 Manipulation des modèles . . . . . . . . . . . . . . . . . . . . . . . 619

7. Packages et thèmes à étudier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6207.1 Création de graphiques JavaScript via R. . . . . . . . . . . . . . . . . . 6207.2 Créer des jointures comme en SQL . . . . . . . . . . . . . . . . . . . . . . 6207.3 Règles d'association . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6217.4 Exporter un modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6217.5 Tenseurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6217.6 SVM pour la détection de nouveautés (novelty detection) . . . 622

8. Vocabulaire et "tricks of the trade" . . . . . . . . . . . . . . . . . . . . . . . . . . 6228.1 Compléments sur les bases du machine learning . . . . . . . . . . . 6228.2 Compléments sur les aspects bayésiens . . . . . . . . . . . . . . . . . . 6248.3 Vocabulaire (dont anglais) des modèles gaussiens . . . . . . . . . . 626

Page 14: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

13Table des matières

9. Algorithmes à étudier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626

10. Quelques formulations d'algèbre linéaire . . . . . . . . . . . . . . . . . . . . . 627

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631

Page 15: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

Chapitre 5

Cadre méthodologiquedu data scientist

Cadre méthodologique du data scientis t1. Le problème méthodologique au niveau du projet

Les data-sciences opérationnelles procèdent de la volonté de satisfaire les aspi-rations, les besoins ou les exigences d'un client interne à une organisation.

Nous abordons ici les caractéristiques du déroulé d'un projet comportant desdata-sciences dans l'ensemble de ses activités.

Nous aborderons ensuite la part du déroulé du projet propre aux aspects data-sciences.

L'objectif est de fournir une forme de "checklist" commentée aux managers,chefs de projet et data scientists.

1.1 L'expression du besoin

La formulation du besoin nécessite souvent un travail assidu d'assistance. Cebesoin est parfois exprimé sous des formes qui ne sont pas directement inter-prétables en termes de problème de data-sciences :

– Je voudrais aller plus loin dans l'analyse de nos données clients/patients/administrés/contreparties/concurrents/marchés/risques/fraudes/sûreté/fournisseurs/logistiques/productions/pays/tendances/sociétales/environnementales...

Page 16: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

© E

dit

ions

EN

I -

All r

ights

rese

rved

396Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

– 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'ajustementmutuel. L'idée étant d'établir un cycle qui permette au "client interne" et audata scientist (ici un business analyst ou un directeur de projet compétent endata-sciences) de partager au moins les cinq aspects fondamentaux suivants :

– Des critères de réussite communs permettant de juger à terme de la réussitede 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 deces données (contrôle, compréhension, connaissances nouvelles, requêtesnouvelles, 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 œuvredu projet (nature, volume, exhaustivité, provenance, temporalité, fiabilité,propriété, coût, confidentialité...).

– Les éléments logistiques nécessaires au projet (budget, architecture, planprojet).

A minima le résultat de cette exploration doit faire l'objet d'une note decadrage et d'une présentation synthétique aux décideurs et aux principauxacteurs.

Page 17: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

397Cadre méthodologique du data scientistChapitre 5

1.2 La gestion du projet

Une fois le prototype et/ou le projet lancé(s), le chef du projet prend toutes lesinitiatives nécessaires pour faire converger l'ensemble dans le respect de lanote cadrage.

Comme la nature même d'un projet de data-sciences implique de nombreusesremises en cause et de nombreuses évolutions, les éléments de la note decadrage seront parfois à amender et le besoin à retravailler. Le chef de projetdevra trouver des modalités de gestion de projet telles que les différentsacteurs pourront être impliqués dans ces évolutions (et au minimuminformé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 prochaineitération.

C'est un cycle agile, mais il n'est pas judicieux d'implémenter toutes lesmeilleures techniques de l'agilité issues des pratiques de développementinformatique : la psychologie du data scientist ne doit pas se calquer sur lapsychologie 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 sontd'excellentes méthodes, mais le cycle de réflexion R&D ne s'y prête pas, entout 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 leurspratiques, 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 uneforte impulsion (kick-off) et avant le dernier tiers de celle-ci pour collecter desengagements définitifs quant à ce qui sera réellement livré (commitments) ets'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 cechapitre).

Page 18: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

© E

dit

ions

EN

I -

All r

ights

rese

rved

398Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

Évidemment, il faut favoriser les transferts de compétence des seniors vers lesjuniors, les conceptions collaboratives et induire des séances d'échange face autableau blanc, marqueur à la main. Tout cela doit se faire dans le respect durythme de réflexion de chacun et sans arrière-pensée de contrôle. On necontrôle pas la R&D et la créativité, on les favorise !

Pour compenser la nature aléatoire d'une telle démarche ouverte, scientifiqueet 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 à chaquemembre 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. Toutmembre 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'éventuelsjalons 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, parexemple : "telle action sera effectuée en 10 à 20 jours/hommes et déboucheraau 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 incertitudespropres (c'est-à-dire optionnel ou pas dans le prochain cycle, exigences clés dulivrable, estimation de charge du livrable, éléments de réception minimum dulivrable). Le plan de l'itération est discuté et amendé par l'équipe au débutde chaque itération. Les objectifs, les attentes (y compris psychologiques) etles engagements vis-à-vis du client interne sont rappelés lors du kick-off.

Remarque

Les livrables peuvent avoir une nature opérationnelle (livrer tel élémenttechnique ou algorithmique), informationnelle (par exemple identifier et qua-lifier les sources de données nécessaires à l'atteinte de tel objectif) ou déci-sionnelle (typiquement l'affinement des éléments de gestion de projet, laréponse à des questions clés et la levée d'incertitudes techniques).

Page 19: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

399Cadre méthodologique du data scientistChapitre 5

À chaque itération, il convient de préciser les nouvelles priorités et d'intégrerles connaissances acquises précédemment pour réorganiser le projet. Dans cecadre, chaque hypothèse ayant conduit à une décision doit être soigneuse-ment consignée et revue régulièrement.

Cette gestion d'hypothèses est essentielle, car les projets de data-sciencesse conduisent dans des environnements évolutifs, concurrentiels, innovantset expérimentaux.

Dans leurs échanges et lors de leurs prises de décision, le client interne, la maî-trise d'œuvre informatique et le chef de projet doivent constamment avoirprésents à l'esprit les trois faits suivants :

– Pas de data science sans data !

– On ne connaît pas a priori la qualité et la pertinence de que l'on va trouverdans les data : il faudra donc souvent reconfigurer le projet, y compris surses objectifs et ses use cases (cas d’utilisation) !

– La technologie est partagée, disponible et open source. Le facteur différen-ciant vis-à-vis de la concurrence réside donc dans la qualité des équipes :maîtrise réelle des data-sciences, maîtrise méthodologique, capacité d'inno-vation, maîtrise projet, gestion du changement, compétences fonction-nelles, maîtrise des architectures actuelles... Cette dernière liste est àconsidérer plus ou moins dans cet ordre, la maîtrise des data-sciences est in-finiment plus disruptive que la maîtrise d'Hadoop ou de Spark, car à termeces technologies ne trouvent leur utilité qu'au travers de ce que l'on en fait.

2. Le cycle interne des data-sciences

Au sein du cycle projet, le data scientist va mener les itérations spécifiquesd'un cycle qui lui est propre, mais qu'il devra synchroniser soigneusement avecles cycles de production et de décision du projet.

À partir d'un certain état "fonctionnel" identifié du projet, à savoir une défini-tion de ses objectifs, diverses exigences métier, des questions posées, des casd'utilisation, des données à disposition et une logistique matérielle, le datascientist va entamer une nouvelle itération.

Page 20: Guide d’autoformation à l’exploitation des Big Data Data ...multimedia.fnac.com/multimedia/editorial/pdf/9782409000430.pdf · L’objectif de ce livre est de proposer une formation

© E

dit

ions

EN

I -

All r

ights

rese

rved

400Guide d’autoformation à l'exploitation des Big Data

Data Scientist et langage R

Il devra planifier soigneusement cette itération et prendre garde à ne pas selaisser emporter dans un perfectionnisme ou un laxisme mathématique, algo-rithmique ou technique incompatible avec les objectifs de sa planification.Planifier une activité de R&D est particulièrement délicat et nécessite doncbeaucoup d'attention.

En premier lieu, le data scientist ayant qualifié un besoin et un contexte vaprocéder à une étude plus ou moins analytique de ceux-ci.

2.1 Revue de détail du problème posé

La première tâche est d'exprimer le problème en termes de techniques propresaux data-sciences. Attention il ne faut pas se focaliser exclusivement sur lestechniques statistiques ou de machine learning mais parcourir la gamme desalgorithmes à notre disposition ayant un lien avec les objectifs fonctionnelsénoncés.

Pour ce qui est des aspects machine learning, il faut identifier rapidement si leproblème posé se traduit en termes d'apprentissage supervisé ou non. Dans lescas complexes, il faudrait s'intéresser aux cycles de techniques itératives dudeep learning.

La sémantique générale des données idéales à manipuler doit être abordée avecsoin. Est-il utile de manipuler des concepts, des mots, des expressions nom-mées (nom de personnes, d'organisations), des évènements, des informationsagrégées (chiffres d'affaires), des relations (réseaux), des séries temporelles(cours de bourses), des images, des vidéos, des sons, des données géogra-phiques... ?

Il convient d'identifier rapidement si la capacité que nous aurons à répondreau problème posé nécessite la maîtrise d'un "modèle de données" :

– Les critères d'appariement de ces données sont-ils clairs : typiquement,possèdent-elles un identifiant, des références mutuelles ?

– Existe-t-il des relations sémantiques ou fonctionnelles entre ces données(une voiture est une sorte de moyen de transport, composée d'une carrosse-rie, d'un moteur... possédée par un individu, assemblée dans une usine...).