Python pour Statistique et Science des Données -- Syntaxe, Trafic de Données, Graphes, Programmation, Apprentissage
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore V1.1 Mar 18, 2018
Cal1-introPython.ipynb V1.1 Mar 18, 2018
Cal2-PythonPandas.ipynb V1.2 Apr 8, 2018
Cal3-PythonGraphes.ipynb V1.2 Apr 8, 2018
Cal4-PythonProg.ipynb python3 Mar 22, 2018
Cal5-PythonSklearnApprent.ipynb python3 Mar 22, 2018
LICENSE V 0.2 Sep 7, 2016
README.md V1.2 Apr 8, 2018
titanic-train.csv V 0.5 Nov 10, 2016

README.md

INSA | Mathématiques Appliquées, Science des Données

Python pour Statistique et Science des Données

L'objectif de ces tutoriels, proposés sous forme de calepins (jupyter notebooks), est d'introduire les principaux concepts et fonctionnalités du langage Python en insistant sur ceux indispensable au statisticien, maintenant data scientist. Syntaxe, objets et classes, fonctions graphiques, techniques de préparation (munging ou wrangling) des données, éventuellement massives (big data), puis leur analyse (big data analytics) en enchaînant phases d'exploration et de modélisation ou apprentissage (machine / statistique). Des exemples plus détaillés sur des données spécifiques (en R et en python) sont proposés sur wikistat.fr ainsi que dans les autres dépôts de ce site. Les méthodes sont exposées dans les vignettes de wikistat.

Les documents sont des calepins (notebooks) au format .ipynb à télécharger et ouvrir dans Jupyter. Il suffit pour cela de cloner le dépôt dans son propre environnement GitHub ou de télécharger l'archive zippée.

Tutoriels d'initiation à Python

Pourquoi Python

Le langage Python est développé et diffusé par la Python Software Foundation selon une licence GPL-compatible. À partir d'applications initialement de calcul scientifique (image, signal...), son utilisation s'est généralisée dans de nombreux domaines et notamment pour l'analyse statistique de données pouvant être volumineuses. Il est donc "libre", efficace en calcul numérique (librairie NumPy), orienté objet, propose de la programmation fonctionnelle... et bénéficie d'une communauté très active qui développe de nombreuses applications et librairies.

L'objectif de ce tutoriel est d'introduire le langage Python3 et quelques librairies pour préparer puis commencer à analyser des données. Lorsque celles-ci sont trop volumineuses pour la taille du disque et distribuées sur les n\oe uds d'un cluster sous Hadoop c'est encore le langage Python (API PySpark) qui permet de passer à l'échelle en utilisant la technologie Spark et éventuellement la librairie MLlib.

De façon plus précise, Python et la librairie pandas offrent des outils efficaces, comme le découpage automatique en morceaux (chunks) adaptés à la taille de la mémoire vive ou encore l'accès à des données au format binaire HDF5 (librairie Pytable), pour lire (format .csv ou fixe), gérer, pré-traiter, trafiquer (en jargon : data munging ou wrangling), visualiser des données volumineuses. Néanmoins, la parallélisation des traitements pour des très volumineuses ou en flux donc distribuées sera sans doute plus efficace avec la technologie adaptée Spark.

La version 3.6. de Python est celle actuellement la "plus récente". Le passage à la version 3 introduisit une rupture de compatibilité par rapport à la version 2 qui est toujours en développement (2.7). Il peut rester nécessaire de pouvoir exécuter les deux versions selon les librairies utilisées et applications recherchées. La version 2.7 inclut des ajouts permettant des éléments de "rétro"-compatibilité avec la version 3. Pour l'usage rudimentaire de ces tutoriels, il semble que les deux versions soient compatibles; c'est la version 3.6 qui est utilisée.