Python pour un data scientist/economist

Lino Galiana

⚠ 🚧 Ce site est en construction 🚧

Structuration du cours

Le cours est structuré sous la forme du présent site web et de notebooks jupyter proposant des exercices plus approfondis. L’ensemble des codes sources est stocké sous github à cette adresse. Sur l’ensemble du site web, il est possible de cliquer sur la petite icone pour être redirigé vers le dépôt. Pour visualiser sous une forme plus ergonomique les notebooks (fichiers .ipynb) que ne le permet ce site web, vous trouverez parfois des liens nbviewer qui utilisent nbviewer une application de visualisation dédiée aux jupyter notebooks. Des environnements temporaires d’exécution des notebooks sont proposés avec les icones suivantes Onyxia Binder Open In Colab

Vous pouvez naviguer dans l’architecture du site via la table des matières ou par les liens vers le contenu antérieur ou postérieur à la fin de chaque page.

Introduction: pourquoi faire du python pour travailler sur des données ?

Python, par sa grande flexibilité, est devenu un langage incontournable dans le domaine de la data science. Le succès de Tensorflow dans la communauté de la Data-Science a beaucoup contribué à l’adoption de python. Cependant, réduire python à quelques librairies serait réducteur tant il s’agit d’un véritable couteau-suisse pour le data-scientist, social scientist ou économiste. Comme pour R, l’intérêt de Python est son rôle central dans un écosystème plus large autour d’outils puissants, flexibles et open-source.

L’intérêt de Python pour un data scientist ou data economist va au-delà du champ du Machine Learning. Python concurrence très bien R dans son domaine de prédilection, à savoir l’analyse statistique sur des objets type dataframes. python est bien plus complet dans certains domaines car, outre le Machine Learning, Python est mieux adapté aux données volumineuses que R. Python est également meilleur que R pour faire du webscraping. Dans le domaine de l'économétrie, python offre l’avantage de la simplicité avec un nombre restreint de packages (scikit et statsmodels) permettant d’avoir des modèles très généraux (les generalized estimating equations) alors qu’il faut choisir parmi une grande variété de packages en R pour obtenir les modèles équivalents. Au contraire, dans certains domaines, R reste meilleur. Par exemple, R est très bien intégré au langage de publication Markdown ce qui, dans certains cas, comme la construction de ce site web basée sur R Markdown, est fort appréciable. Un des avantages comparatifs de Python par rapport à d’autres langages (notamment R et Julia) est sa dynamique, ce que montre l’explosion du nombre de questions sur Stack Overflow.

Cependant, il ne s’agit pas bêtement d’enterrer R ; au contraire, outre leur logique très proche, les deux langages sont dans une phase de convergence avec des initiatives comme reticulate. Ce dernier package permet d’exécuter des commandes python dans un document R Markdown mais crée également une correspondance entre les objets python et R. Les bonnes pratiques peuvent être transposées de manière presque transparente d’un langage à l’autre. A terme, les data-scientists et économistes utiliseront de manière presque indifférente, et en alternance, python et R. Ce cours présentera ainsi régulièrement des analogies avec R.

Principes du cours

Le but de ce cours est de rendre autonome sur l’utilisation de Python dans un contexte de travail d’un ENSAE, c’est-à-dire une utilisation intensive des données dans un cadre statistique rigoureux. Nous partirons de l’hypothèse que les notions de statistiques et d'économétrie pour lesquels nous verrons des applications informatiques, vous sont connues.

Les éléments relatifs à l'évaluation du cours sont disponibles dans la Section Evaluation

Last updated on 15 Sep 2020
Published on 16 Jul 2020
Edit on GitHub