Résumé Nous vivons une époque très excitante, qui ramène l’analyse de données et les méthodes quantitatives au coeur de la société. L’aboutissement de nombreux projets de recherche, la puissance de calcul informatique disponible et des données à profusion permettent aujourd’hui d’incroyables réalisations, grâce au travail des data scientists. Un livre de référence pour les data scientists La data science est l’art de traduire des problèmes industriels, sociaux, scientifi ques, ou de toute autre nature, en problèmes de modélisation quantitative, pouvant être résolus par des algorithmes de traitement de données. Cela passe par une réfl exion structurée, devant faire en sorte que se rencontrent problèmes humains, outils techniques/informatiques et méthodes statistiques/algorithmiques. Chaque projet de data science est une petite aventure, qui nécessite de partir d’un problème opérationnel souvent fl ou, à une réponse formelle et précise, qui aura des conséquences réelles sur le quotidien d’un nombre plus ou moins important de personnes. Éric Biernat et Michel Lutz proposent de vous guider dans cette aventure. Ils vous feront visiter les vastes espaces de la data science moderne, de plus en plus présente dans notre société et qui fait tant parler d’elle, parfois par l’intermédiaire d’un sujet qui lui est corollaire, les big data. Des études de cas pour devenir kaggle master Loin des grands discours abstraits, les auteurs vous feront découvrir, claviers à la main, les pratiques de leur métier de data scientist chez OCTO Technology, l’un des leaders français du domaine. Et vous mettrez également la main à la pâte : avec juste ce qu’il faut de théorie pour comprendre ce qu’impliquent les méthodes mathématiques utilisées, mais surtout avec votre ordinateur personnel, quelques logiciels gratuits et puissants, ainsi qu’un peu de réfl exion, vous allez participer activement à cette passionnante exploration ! Au sommaire Le B.A.-ba du data scientist • Savoir poser un problème de data science • Les outils informatiques • Les algorithmes et leurs usages : visite guidée • La régression linéaire univariée • La régression linéaire multivariée • La régression polynomiale • La régression régularisée • Naive Bayes • La régression logistique • Le clustering • Introduction aux arbres de décision • Random forest • Gradient boosting • Support Vector Machine • La data science en pratique : au-delà des algorithmes • Évaluer un modèle • Les espaces de grande dimension • Valeurs manquantes et valeurs aberrantes : généralités • Prédire les survivants du Titanic • Classifi cation automatique de zones de texte • Qu’est-ce qu’une série temporelle ? L’approche classique • Machine learning et modélisation des séries temporelles • Un cas pratique de modélisation : rendement d’une colonne de distillation • Clustering de séries temporelles • Conclusion générale À qui s’adresse cet ouvrage ? – Aux développeurs, statisticiens, étudiants et chefs de projets ayant à résoudre des problèmes de data science. – Aux data scientists, mais aussi à toute personne curieuse d’avoir une vue d’ensemble de l’état de l’art du machine learning. Biographie auteur É. Biernat Éric Biernat dirige l’activité Big Data Analytics chez OCTO Technology, l’un des leaders français sur le marché de la data science et des big data. Il a embrassé le mouvement Big Data Analytics en 2011 et ne l’a plus lâché depuis, en accompagnant ses clients qui souhaitent tirer profi t des opportunités offertes par cette science. Kaggle master, Éric s’illustre régulièrement lors de compétitions de data science et intervient dans de nombreux cycles de conférences sur la thématique des big data, dans la presse spécialisée ou auprès de comités exécutifs. M. Lutz Suite à un parcours initial en gestion et fi nance, Michel Lutz s’est lancé un nouveau challenge en soutenant une thèse de doctorat en génie industriel. Durant ses années de recherche, visant à utiliser des méthodes de mathématiques appliquées dans un contexte industriel, il a développé une certaine orthodoxie statistique qui a été bien bousculée lorsqu’il a découvert le monde de la data science. Désormais, il se plonge avec enthousiasme dans les techniques de machine learning grâce à son activité de consultant chez OCTO Technology. www.editions-eyrolles.com Data science : fondamentaux et études de cas Machine learning avec Python et R Éric Biernat Michel Lutz ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Pour lire les lignes de code, nous vous conseillons de réduire au maximum la police de caractère sur votre support de lecture. Attention : la version originale de cet ebook est en couleur, lire ce livre numérique sur un support de lecture noir et blanc peut en réduire la pertinence et la compréhension. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans l’autorisation de l’Éditeur ou du Centre Français d’exploitation du droit de copie, 20, rue des Grands Augustins, 75006 Paris. © Groupe Eyrolles, 2015, ISBN : 978-2-212-14243-3 DANS LA MÊME COLLECTION B. PHILIBERT. – Bootstrap 3 : le framework 100 % web design. N°14132, 2015, 318 pages. C. CAMIN. – Développer avec Symfony2. N°14131, 2015, 474 pages. S. PITTION, B. SIEBMAN. – Applications mobiles avec Cordova et PhoneGap. N°14052, 2015, 184 pages. H. GIRAUDEL, R. GOETTER. – CSS 3 : pratique du design web. N°14023, 2015, 372 pages. C. DELANNOY. – Le guide complet du langage C. N°14012, 2014, 844 pages. K. AYARI. – Scripting avancé avec Windows PowerShell. N°13788, 2013, 358 pages. W. BORIES, O. MIRIAL, S. PAPP. – Déploiement et migration Windows 8. N°13645, 2013, 480 pages. W. BORIES, A. LAACHIR, D. THIBLEMONT, P. LAFEIL, F.-X. VITRANT. – Virtualisation du poste de travail Windows 7 et 8 avec Windows Server 2012. N°13644, 2013, 218 pages. J.-M. DEFRANCE. – jQuery-Ajax avec PHP. N°13720, 4e édition, 2013, 488 pages. L.-G. MORAND, L. VO VAN, A. ZANCHETTA. – Développement Windows 8 - Créer des applications pour le Windows Store. N°13643, 2013, 284 pages. Y. GABORY, N. FERRARI, T. PETILLON. – Django avancé. N°13415, 2013, 402 pages. P. ROQUES. – Modélisation de systèmes complexes avec SysML. N°13641, 2013, 188 pages. SUR LE MÊME THÈME M.-R. AMINI. – Apprentissage machine, de la théorie à la pratique. N°13800, 2015, 272 pages. M.-R. AMINI, E. GAUSSIER. – Recherche d’information. N°13532, 2013, 234 pages. A. CORNUÉJOLS, L. MICLET. – Apprentissage artificiel. N°12471, 2010, 804 pages. R. BRUCHEZ. – Les bases de données NoSQL et le Big Data. N°14155, 2015, 322 pages. Retrouvez nos bundles (livres papier + e-book) et livres numériques sur http://izibook.eyrolles.com Préface Cela fait maintenant plus de trente ans que je m’adonne à ma passion : comprendre les secrets de l’intelligence et concevoir des machines et des algorithmes permettant aux machines d’apprendre, et pas seulement d’être programmées. Ces années ont été parsemées d’idées fabuleuses et de promesses extraordinaires. Mais nombreux ont été les échecs et les difficultés à franchir. Ainsi, l’intelligence artificielle (IA) est pendant longtemps restée confinée à occuper les chercheurs ou à nourrir les fantasmes des réalisateurs hollywoodiens, avec peu d’impact sur la société. Mais depuis quelques années, nous vivons une époque de renaissance de l’IA. Un nombre grandissant de projets de recherche donnent des résultats impressionnants. Mais contrairement aux progrès passés, ces nouvelles avancées conduisent à des applications qui sont rapidement disséminées dans l’industrie et parmi un large public. Ces succès récents de l’IA sont largement dus aux progrès des techniques d’apprentissage machine, qui permettent à un logiciel d’apprendre automatiquement à partir de données au lieu d’être explicitement programmé. Ces techniques permettent désormais d’incroyables réalisations en reconnaissance d’image, compréhension de la parole, traduction automatique, et compréhension de texte, à travers des applications avec lesquelles beaucoup d’entre nous interagissent quotidiennement. Ces progrès sont advenus non seulement grâce à l’augmentation de la puissance de calcul des machines et la disponibilité de grandes quantités de données, mais aussi grâce à l’adoption de nouvelles méthodes d’apprentissage machine. En tête de ces nouvelles méthodes se trouve ce qu’on appelle le deep learning ou apprentissage profond, que l’on peut voir comme une version rajeunie des réseaux de neurones artificiels tombés aux oubliettes dans les années 90, faute de données et d’ordinateurs puissants. Ces réalisations nous concernent tous. Désormais convaincus par les bénéfices qu’elles peuvent en tirer, les entreprises deviennent de grandes consommatrices d’algorithmes d’IA, utilisés pour améliorer leurs processus de prise de décision. Elles remplacent leurs modèles statistiques par ces approches d’apprentissage profond plus performantes. Le grand public lui-même est directement touché. Chaque utilisateur Facebook, Google ou Twitter par exemple, utilise des services issus de l’IA à chaque fois qu’il enrichit son compte utilisateur. Aux États-Unis, chacune des centaines de millions de photos postées sur Facebook est passée au crible d’un réseau convolutif, un modèle d’apprentissage profond, qui va reconnaître automatiquement les objets contenus dans l’image, afin de montrer aux utilisateurs des images susceptibles de l’intéresser. Sans doute, cette tendance va aller en s’accélérant, alimentée par des progrès scientifiques et technologiques qui ne sont pas près de s’arrêter, alimentés par les investissements considérables des organismes de rechercher et des grandes compagnies dans l’IA, l’apprentissage machine, et l’apprentissage profond. Ce livre donne un ensemble de clés à toute personne désireuse de s’initier sérieusement à l’apprentissage machine. Pour s’en approprier les fondamentaux, un savant cocktail scientifique et technique est nécessaire : des bases scientifiques et mathématiques d’une part, des compétences en informatique et en programmation de l’autre. Il faut ajouter à cela de réelles capacités d’analyse et de créativité, pour comprendre les enjeux d’application et traduire des problèmes humains en problèmes de modélisation quantitative. Beaucoup d’entreprises, dont Facebook, recherchent des chercheurs et ingénieurs ayant ces multiples talents. Ce livre, original dans son style et son contenu, peut vous aider à les développer. Après l’avoir lu, vous disposerez d’une solide connaissance des méthodes de machine learning les plus répandues aujourd’hui dans la majorité des applications grand public et professionnelles, des plus simples aux plus avancées. Vous en connaîtrez les principes, exposés de façon accessible et décontractée, sans pour autant que soit sacrifiée la rigueur scientifique. L’un des autres atouts de ce livre est qu’il s’appuie sur l’expérience concrète d’Eric et de Michel. Par leur approche terrain du machine learning, ils peuvent partager des exemples issus de la vie réelle, des conseils pratiques de mise en œuvre, des garde-fous, du code directement utilisable. En ce sens, ce livre est un bon complément aux ouvrages académiques plus théoriques que vous pourrez trouver par ailleurs sur le sujet. Si je dois lui faire un reproche, c’est qu’il ne parle pas de deep learning, mon domaine de recherche privilégié. Même s’il est vrai que les champs d’applications concrets du deep learning sont encore très spécialisés, je suis convaincu qu’ils vont se généraliser dans les années à venir. Eric, Michel, je compte sur vous pour en parler dans la 2e édition de ce livre ! Yann LeCun, Directeur de Facebook Artificial Intelligence Research Professeur à New York University Table des matières Avant-propos Pourquoi ce livre ? À qui s’adresse-t-il ? Qui sont les auteurs ? Comment lire ce livre ? Remerciements Références PREMIÈRE PARTIE Le B.A.-ba du data scientist CHAPITRE 1 Savoir poser un problème de data science Introduction Préliminaire : qu’est-ce que le machine learning ? Au commencement était la donnée… Un prérequis indispensable Que sont les données ? Les principaux types de données D’où viennent les données ? Les algorithmes : pour faire quoi ? Sous les données, des liens… plus ou moins certains ! Une taxinomie des algorithmes Algorithmes supervisés et non supervisés Algorithmes de régression et de classification Pour les plus curieux Algorithmes et structures de données Représentation matricielle des données Que font les algorithmes ? Références CHAPITRE 2 Les outils informatiques Quels logiciels ? Quel environnement de travail ? Références DEUXIÈME PARTIE Les algorithmes et leurs usages : visite guidée Sous-partie 1 Les basiques du data scientist CHAPITRE 3 La régression linéaire univariée Introduction Définition de la fonction hypothèse Qui dit approximation dit erreur Minimiser la fonction de coût Références CHAPITRE 4 La régression linéaire multivariée Introduction Le modèle en détail Normalisation Résolution analytique Références CHAPITRE 5 La régression polynomiale Introduction Principes généraux de la régression polynomiale La notion de sur-apprentissage Le compromis biais-variance Référence CHAPITRE 6