DrAnaximandre / Intro-Python

Introduction à Python pour Statistique et Science des Données -- Syntaxe, Trafic de Données, Graphes, Apprentissage

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

##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 Python 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.4. 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 reste actuellement nécessaire de pouvoir utiliser les 2 versions selon les librairies utilisées (la 2.7 pour Spark) 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.

About

Introduction à Python pour Statistique et Science des Données -- Syntaxe, Trafic de Données, Graphes, Apprentissage

License:MIT License


Languages

Language:Jupyter Notebook 100.0%