ENSAH – 2ème année Génie Informatique – 2021/2022– Pr. Routaib Hayat hroutaib@u

ENSAH – 2ème année Génie Informatique – 2021/2022– Pr. Routaib Hayat hroutaib@uae.ac.ma Python for data science Plan • Introduction à Python • Partie I : La programmation en langage Python • Partie II : La science de donnée avec Python Introduction Python s’impose aujourd’hui dans de nombreux domaines comme un langage de programmation de référence. Dans le cadre de la science des données (data science), il s’avère être un outil de premier plan permettant d’articuler des projets complexes Python est aujourd’hui l’outil idéal pour mettre en place des prototypes et un grand allié du Big Data, du Machine Learning et du Deep Learning. Introduction C’est quoi la data science ? « Les termes de data science et de data scientist sont assez récents. » La science des données consiste à résoudre des problèmes complexes en utilisant de grands volumes de données. Le data scientist est celui qui mettra en place et fera fonctionner des processus de data science. Son rôle est de faire le lien entre des problèmes métiers et des solutions par le biais d’algorithmes et d’infrastructures modernes. À ce titre, il devra avoir une vision assez large du cadre opérationnel, technique et théorique. Il faut qu’il soit très technique mais il faut aussi garder en tête la capacité à résoudre des problèmes qui n’avaient pas de solutions opérationnelles. Il doit avoir de bonnes connaissances en statistique, en machine learning, mais aussi des compétences techniques en développement et une bonne appréhension des environnements de traitement. Introduction Historique du langage python : Python est un langage de programmation, dont la première version est sortie en 1991. Créé par Guido van Rossum, il a voyagé du Macintosh de son créateur, qui travaillait à cette époque au Centrum voor Wiskunde en Informatica aux Pays-Bas, jusqu'à se voir associer une organisation à but non lucratif particulièrement dévouée, la Python Software Foundation, crée en 2001. « Ce langage a été baptisé ainsi en hommage à la troupe de comiques les Monty Python ». Introduction C’est quoi Python ? Python est un langage simple qui doit vous permettre de vous concentrer sur la mise en place de processus automatisés en data science. Néanmoins, il est nécessaire de bien maîtriser son environnement. Il est, en outre, très facile d'étendre les fonctionnalités existantes, comme nous allons le voir. Ainsi, il existe ce qu'on appelle des bibliothèques qui aident le développeur à travailler sur des projets particuliers. Introduction Avantages de Python : facile à apprendre, à lire, à comprendre et à écrire ; portable (fonctionne sous de nombreux systèmes d'exploitation) ; adapté aussi bien pour des scripts, des petits ou gros projets ; doté d'une façade objet bien conçue et puissante ; possède une communauté active autour du langage ; crée des interfaces graphiques ; Permet de circuler des informations au travers d'un réseau ; Introduction Un langage de programmation interprété : Python est un langage de programmation interprété, c'est-à-dire que les instructions que vous lui envoyez sont « transcrites » en langage machine au fur et à mesure de leur lecture. D'autres langages (comme le C / C++) sont appelés « langages compilés » car, avant de pouvoir les exécuter, un logiciel spécialisé « compilateur » se charge de transformer le code du programme en langage machine. On appelle cette étape la « compilation ». À chaque modification du code, il faut rappeler une étape de compilation. Introduction Les avantages du langage de programmation interprété : La simplicité car (on ne passe pas par une étape de compilation avant d'exécuter son programme La portabilité (un langage tel que Python est censé fonctionner aussi bien sous Windows que sous Linux ou Mac-OS, et on ne devrait avoir à effectuer aucun changement dans le code pour le passer d'un système à l'autre). Cela ne veut pas dire que les langages compilés ne sont pas portables ! Mais on doit utiliser des compilateurs différents sous un système à l'autre, certaines instructions ne sont pas compatibles, voir se comportent différemment. Introduction Les avantages du langage de programmation interprété : En contrepartie, un langage compilé se révélera bien plus rapide qu'un langage interprété (la traduction à la volée de votre programme ralentit l'exécution), bien que cette différence tende à se faire de moins en moins sentir au fil des améliorations. De plus, il faudra installer Python sur le système d'exploitation que vous utilisez pour que l'ordinateur puisse comprendre votre code. => Quand un langage de programmation est mis à jour, les développeurs se gardent bien de supprimer ou de trop modifier d'anciennes fonctionnalités. L'intérêt est qu'un programme qui fonctionne sous une certaine version marchera toujours avec la nouvelle version en date. Introduction Python & Data Science : L’émergence de la data science est récente, et ces nouveaux usages de la donnée ont souvent eu des difficultés à trouver des outils adaptés. En effet, le data scientist se doit d’être un bon développeur tout en restant un bon analyste de données. Il a fallu opter pour un outil qui permette de combiner cette demande de plus en plus forte de développement et d’automatisation; avec la nécessité d’avoir une boîte à outils adaptée aux applications data. Donc plusieurs outils permettent de mettre en place les processus de data science comme (les propriétaires tels que Matlab ou R), mais il s’avère énormément que Python (qui combine un langage puissant et extrêmement simple) a réussi à tirer son épingle du jeu. Introduction Python & Data Science : La première avancée réelle a été la création du package NumPy (Numerical Python), qui est toujours et aujourd’hui le plus important de l’écosystème Python pour la data science. D’autre part, la mise en place d’environnements Python orientés data avec notamment Anaconda a aussi permis à toute une communauté de se créer autour dePython et de la data. Finalement, IPython et ses notebooks (devenus Jupyter aujourd’hui) ont parachevé l’écosystème afin de proposer à des data scientists un langage simple mais extrêmement complet pour la data science. Cet environnement global a abouti au développement de nombreux packages et de nombreuses API, qui font aujourd’hui de Python le meilleur outil pour automatiser des traitements de data science. Introduction L’ évolution de Python : L’émergence de Python en tant que langage lié à la data science, au machine learning, au deep learning et à l’intelligence artificielle est extrêmement rapide. Grâce à une communauté extrêmement active sous la bannière PyData et à des évènements fréquents et nombreux (les PyCon, les PyData, les JupyterCon, les SciPyCon…), le développement du langage prend une tournure inattendue. Introduction Python vs. R : R et Python sont aujourd’hui les bases indispensables du data scientist. De plus, l’évolution rapide des deux langages aboutit à une forme de compétition saine permettant de les rendre de plus en plus complets pour le traitement des données. Il existe néanmoins des différences qui sont notables et qui orienterons vos choix lors de la décision du langage à utiliser pour un projet. R est basé sur un langage créé pour des statisticiens par des statisticiens, il s’appuie avant tout sur une approche descriptive et de modélisation des données. Les sorties de R sont des sorties dignes des logiciels de statistiques « classiques » avec de nombreux détails. Python n’est pas basé sur cette approche, c’est un langage de programmation visant à automatiser des processus en ne re cherchant qu’à calculer le strict minimum. Introduction Python vs. R : Propriété R Python Lisibilité du code Moins lisible au premier abord Plus lisible, notamment à cause de l’indentation Rapidité Langage interprété donc peu rapide (possibilité d’intégrer d’autres langages plus rapides Rcpp) Langage interprété donc peu rapide (possibilité d’intégrer d’autres langages plus rapides C, cython…) Préparation des données Peu pratique avec sa version de base mais extrêmement efficace avec l’environnement Tidyverse Efficace grâce au package Pandas Introduction Python vs. R : Propriété R Python Capacités big data Made nombreuses API vers les infrastructures big data (parfois un peu de retard au développement)oins lisible au premier abord De très nombreuses API vers les infrastructures big data avec un développement rapide Gestion des données non structurées Surtout spécialisé sur les données structurées Très bien adapté notamment avec des packages comme NumPy ou Scikit-Image Introduction Python vs. R : Propriété R Python Analyse de données multivariées Très bien adapté avec notamment des packages comme FactoMineR Toutes les méthodes sont présentes mais manque d’outils de visualisation adaptés Traitements statistiques Peu pratique avec sa version de base mais extrêmement efficace avec l’environnement Tidyverse Des possibilités avec SciPy et Statsmodels mais pas son point fort Elément I : La Programmation avec Python Selon Grace Hopper, inventeur du compilateur : « Pour moi, la programmation est plus qu’un art appliqué important. C’est aussi une ambitieuse quête menée dans les tréfonds de la connaissance. » Les bases fondamentales du Python Python est un langage portable, dynamique, extensible, gratuit, qui permet (sans l’imposer) une approche modulaire et orientée objet de la programmation. Python est développé depuis 1989 par Guido van Rossum et de nombreux contributeurs bénévoles. Les bases fondamentales du Python Les caractéristiques du langage Python : uploads/Science et Technologie/ cours-python-element-i-complet.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager