linogaliana / python-datascientist

Dépôt associé au cours Python pour data scientists (ENSAE 2e année)
https://pythonds.linogaliana.fr/
Other
99 stars 46 forks source link
data-science jupyter jupyter-notebook machine-learning opendata python teaching

Python pour la data science

build-doc Actions Status

Download nbviewer Onyxia
Open In Colab

DOI

Ce dépôt Github stocke les fichiers sources ayant permis de construire le site https://pythonds.linogaliana.fr/.

Il s'agit de l'ensemble du cours Python pour la data science que je donne en deuxième année (Master 1) de l'ENSAE.

Syllabus

Le syllabus est disponible sur le site de l'ENSAE et sur le site web du cours.

Globalement, il propose un contenu très complet pouvant autant satisfaire des débutants en data science que des personnes à la recherche de contenu plus avancé :

  1. Manipulation de données : manipulation de données standards (Pandas), données géographiques (Geopandas), récupération de données (webscraping, API)...
  2. Visualisation de données : visualisations classiques (Matplotlib, Seaborn), cartographie, visualisations réactives (Plotly, Folium)
  3. Modélisation : machine learning (Scikit), économétrie
  4. Traitement de données textuelles (NLP): découverte de la tokenisation avec NLTK et SpaCy, modélisation...
  5. Introduction à la data science moderne : cloud computing, ElasticSearch, intégration continue...

L'ensemble du contenu de ce site s'appuie sur des données ouvertes, qu'il s'agisse de données françaises (principalement issues de la plateforme centralisatrice data.gouv ou du site web de l'Insee) ou de données américaines.

Un bon complément du contenu du site web est le cours que nous donnons avec Romain Avouac (@avouacr) en dernière année de l'ENSAE plus tourné autour de la mise en production de projets data science : https://ensae-reproductibilite.github.io/website/

Tester les codes Python

Il est possible d'utiliser une installation personnelle de `Python` ou des serveurs partagés. Sur le site web, une série de boutons sont mis à disposition pour faciliter les tests des exemples sur des notebooks `Jupyter` dans la configuration qui vous sied le mieux.

Voici, par exemple, ces boutons pour le tutoriel numpy

Download nbviewer Onyxia
Binder Open In Colab githubdev

Utilisation de l'image Docker

[![Docker Pulls](https://img.shields.io/docker/pulls/linogaliana/python-datascientist)](https://hub.docker.com/repository/docker/linogaliana/python-datascientist/general) Pour améliorer la reproductibilité des exemples, une image `Docker` est automatiquement construite et mise à disposition depuis [DockerHub](https://hub.docker.com/repository/docker/linogaliana/python-datascientist).

Construction du site web

Le site est construit de manière automatique grâce à [`Quarto`](https://quarto.org/) à partir d'un environnement conteneurisé [`Docker`](https://hub.docker.com/repository/docker/linogaliana/python-datascientist/general) La reproductibilité des exemples et des exercices est testée avec `Github Actions` ([![build-doc Actions Status](https://github.com/linogaliana/python-datascientist/actions/workflows/prod.yml/badge.svg)](https://github.com/linogaliana/python-datascientist/actions)). Les _notebooks_ sont générés de manière à être cohérente avec le site web et sont maintenant stockés sur un [dépôt à part](https://github.com/linogaliana/python-datascientist-notebooks). L'environnement `Conda` nécessaire pour faire tourner l'ensemble du cours est disponible dans un fichier [`environment.yml`](https://github.com/linogaliana/python-datascientist-docker/blob/master/environment.yml). Il est recommandé d'utiliser la `conda-forge` afin de bénéficier de versions récentes des packages.