dimanche 30 août 2015

Python - Statistiques avec SciPy

SciPy est une bilbilothèque de calcul scientifique pour Python. Elle couvre de nombreux domaines (intégration numérique, interpolation, optimisation, traitement d’images,  etc.). Dans ce support, nous nous intéressons plus particulièrement aux routines de statistique et de classification automatique (clustering).

SciPy s’appuie sur les structures de données de NumPy (vecteurs, matrices).

Mots clés : langage python, numpy, matrice, array, scipy, statistique, classification automatique, apprentissage non-supervisé, clustering
Lien : Statistiques avec SciPy
Fichiers : Exemples illustratifs
Références :
SciPy Reference sur SciPy.org
The Glowing Python, "K-Means clustering with SciPy", 2012.
Emergence Wiki, "Introduction aux tests de normalité avec Python", 2015.
Python - Official Site

vendredi 14 août 2015

Python - Les matrices avec NumPy

Ce support présente la manipulation des matrices via NumPy. Le type array est commun aux vecteurs et matrices, la spécificité tient à l’adjonction d’une seconde dimension pour disposer les valeurs au sein d’une structure lignes x colonnes.

Les matrices ouvrent la porte à des opérateurs qui jouent un rôle fondamental en modélisation statistique et en statistique exploratoire (ex. inversion de matrice, résolution d’équations, calcul des valeurs et des vecteurs propres, décomposition en valeurs singulières, etc.).

Mots clés : langage python, numpy, matrice, array, création, extraction
Lien : Les matrices avec NumPy
Fichiers : Exemples illustratifs
Références :
NumPy Reference sur SciPy.org
Pucheu, Corsellis, Bansard, "Python et le module NumPy", 2001.
Haenel, Gouillart, Varoquaux, "Python Scientific Lecture Notes", lu en août 2015.
Python - Official Site

mardi 11 août 2015

Python - Les vecteurs avec NumPy

Le module « NumPy » (Numeric Python) est particulièrement populaire sous Python parce qu’il propose un ensemble de structures et de routines permettant de gérer efficacement les grands tableaux. Il est de fait sous jacent à de très nombreux modules de calcul scientifique et de manipulation de fichiers numériques (ex. image). Les modules de statistique et de data science ne font pas exception. La très grande majorité d’entre eux utilisent Numpy. Il est donc très important pour nous de cerner au mieux les principales fonctionnalités de cet outil.

Dans ce support, je présente le traitement des vecteurs avec les outils de Numpy. Je le présente comme un cas à part en veillant à ne pas déborder sur la gestion des matrices car ce dernier thème fera l’objet d’un autre document.

Mots clés : langage python, numpy, vecteur, array, création, extraction
Lien : Les vecteurs avec NumPy
Fichiers : Exemples illustratifs
Références :
NumPy Reference sur SciPy.org
Pucheu, Corsellis, Bansard, "Python et le module NumPy", 2001.
Haenel, Gouillart, Varoquaux, "Python Scientific Lecture Notes", lu en août 2015.
Python - Official Site

vendredi 7 août 2015

Python - La distribution Anaconda

Arrivé à ce stade de mon cours (cf. les séances précédentes), je souhaitais l’orienter vers le calcul scientifique, en particulier la programmation statistique. J’avais identifié quelques packages comme les incontournables numpy et scipy, d’autres également avaient attiré mon attention, pandas, statsmodels, ou encore scikit-learn par exemple.

A priori, la démarche est simple. Il suffit d’installer ces packages pour pouvoir les exploiter. Et là j’ai compris ma douleur. Non pas que l’opération soit compliquée en définitive, mais parce que trouver une documentation simple et directement reproductible sous Windows est apparemment très difficile (en août 2015). Je suis finalement tombé sur une excellente page qui détaille très bien la démarche. Mais ça m’a posé question. Je voyais mal mes étudiants jongler avec ce type de manipulations sur les machines hyper protégées de nos salles informatiques. Les problèmes de configurations qui bouffent une séance TP, où tout le monde reste les bras ballants en attendant que les machines fonctionnent correctement, j’en ai suffisamment vécu comme cela. Il m’est apparu préférable d’opter pour une solution plus avenante.

Et je l’ai trouvée en Anaconda. Il s’agit d’une distribution alternative de Python. Elle intègre de manière standard un grand nombre de packages, notamment ceux dédiés au calcul scientifique. Ils sont par conséquent disponibles dès l’installation de la distribution. Et pour ceux qui souhaitent aller plus loin, pour une mise à jour ou pour l’intégration d’un package non initialement prévu par exemple, elle propose le gestionnaire de package Conda qui semble simplifier grandement les opérations. Enfin, Anaconda propose l’environnement de développement Spyder, plus sympathique que l’usuel IDLE, et la console IPython, là également avec des fonctionnalités supplémentaires.

Ce tutoriel décrit brièvement l’installation et l’utilisation de la distribution Anaconda.

Mots clés : langage python, anaconda, EDI, environnement de développement intégré, spyder, ipython
Lien : La distribution Anaconda
Références :
Anaconda - Scientific Python Distribution
Python - Official Site

mardi 4 août 2015

Les fichiers sous Python - Diapos

Construire des applications un tant soit peu évoluées nécessite de savoir stocker les informations sur un support non volatile. C’est le rôle des fichiers. Ils permettent  de pérenniser les données, ils peuvent également servir de support pour les communications inter-applications.

Ce support est consacré aux fichiers sous Python. Nous nous focalisons sur les fichiers texte non-structuré ou structuré. Dans ce dernier cas, nous traiterons des formats json (javascript objet notation) et xml (extensible markup language), largement utilisés pour l’échange de contenus complexes.

Mots clés : langage python, fichier texte, json, xml
Lien : Les fichiers sous Python
Fichiers : Exemples illustratifs
Références :
Python - Official Site