Interview de Emmanuel Jakobowicz pour son livre "Python pour le data scientist - Des bases du langage au machine learning"
Python, le couteau suisse du data scientist ?
Facile, souple, évolutif, Python s’impose comme LE langage de programmation du data scientist permettant la combinaison de plusieurs outils pour des applications de machine learning ou de deep learning. Python pour le data sientist (Dunod, 2018), d’Emmanuel Jakobowicz, expose comment utiliser Python en data science, comment coder, préparer les données, passer aux environnements big data... L’ouvrage se prolonge sur le web, en permettant au lecteur d’accéder au code compris dans le livre.
Quelles sont les spécificités de Python ?
Python est un langage de programmation qui se caractérise par sa simplicité et la possibilité d'écrire du code extrêmement lisible. Par ailleurs, c'est un langage qui a su s'adapter à de nombreux contextes. Ce qui nous intéresse ici c'est son adaptation au traitement de la donnée. Dans ce domaine, l'adoption de Python suit une croissance extrêmement rapide notamment grâce à des packages tels que NumPy, Pandas ou Scikit-learn.
Comment le langage Python croise-t-il les intérêts des data scientists et du machine learning ?
L'application d'algorithmes de machine learning est une partie importante du travail du data scientist. Python permet de combiner des outils de manipulation de données, de prototypage et des packages très avancés d'applications du machine learning ou de deep learning tels que Scikit-learn ou Tensorflow. Il permet de créer des outils avancés en traitement du langage (chatbots, reconnaissance vocale, reconnaissance de texte), en analyse d'image (reconnaissance faciale, extraction d'éléments de photographies) ou en analyses clients (outils de recommandation, scoring)...
Quelles sont les forces et les faiblesses de Python ?
Python est un langage simple et interprété, il est donc extrêmement efficace pour créer des prototypes. Il se base sur une constellation de packages décuplant les possibilités du langage.
Sa principale faiblesse réside dans les problèmes de passage à l'échelle lors de l'industrialisation des prototypes. Cette faiblesse tend à être de moins en moins un obstacle grâce à certains projets open source permettant d'optimiser le code Python (Dask ou Numba) et à simplifier le passage à une phase de production.
Quelles sont les évolutions possibles de Python ?
Python est un langage en pleine évolution, les équipes de développement de Python et des packages pour les traitements scientifiques sont actuellement en train d'adapter les outils à la demande extrêmement forte des utilisateurs. Python étant un langage multi-usages, il apparaît aujourd'hui comme un langage commun à de nombreuses applications. Son évolution rapide lui permettra de s'adapter aux différents challenges liés à la démocratisation du traitement des données.
Nous allons sûrement connaître une adoption de plus en plus forte de Python dans le monde de la data du fait de nouveaux packages, mais aussi d'une nouvelle génération de développeurs ayant commencé leur cursus avec Python comme langage de base.