Analyses de données en Jupyter

Une analyse de données répond aux questions suivantes:

  • quelles sont les données,

  • quelle est la question (notre objectif),

  • comment faire pour y répondre (outils statistiques),

  • quels sont les résultats (nos observations) et

  • quelles sont les conclusions (notre interprétation).

Une analyse de données prend la forme d’un document narratif expliquant les objectifs, hypothèses et étapes de l’analyse: il typiquement écrit en anglais pour qu’il puisse être partagé avec le plus grand nombre.

Pourquoi utiliser Jupyter ?

Depuis quelques années, les feuilles de travail (notebook) Jupyter sont un des moyens prisés pour rédiger de telles analyses de données et mener les calculs sous-jacents. Il s’agit en effet de documents permettant d’entremêler narration (textes, formules), visualisation, interaction, calcul et programmation.

Le document que vous êtes en train de lire est une feuille Jupyter. On peut y mettre des calculs comme ci-dessous. Pour exécuter le calcul, cliquez dans la cellule ci-dessous et tapez Shift-Enter:

1 + 1

Utilisez maintenant la cellule ci-dessous pour calculer 1+2; puis réutilisez la même cellule pour calculer 3*4:

3*4

Vous rencontrerez aussi des cellules à compléter comme la suivante dans lesquelles vous remplacerez les deux lignes « Your code here » et « raise … » par le calcul à faire; calculez cinq fois sept:

# YOUR CODE HERE
raise NotImplementedError()

Vous pouvez aussi éditer les cellules contenant du texte comme celle-ci. Allez-y: double-cliquez dans la cellule et mettez votre nom là:

VOTRE RÉPONSE ICI

Puis Shift-Enter.

Notez que certaines cellules de ce document sont en lecture-seule. Vous ne pouvez pas les modifier. En revanche, vous pouvez toujours insérer de nouvelles cellules libres (Menu Insérer > Insérer une cellule après).

On peut ausi mettre des formules mathématiques dans une cellule: $\(\frac 1 {1-\frac 1z} = \sum_{i=0}^\infty \frac 1 {z^i}\)$

Correction semi-automatique avec nbgrader

Lors d’un TP noté, une grande partie de la correction est automatique à l’aide de l’outil nbgrader et s’appuie sur des tests similaires à ceux du premier semestre. La correction automatique se fait par intégration continue sur GitLab au moment du dépôt (submit) et peut prendre quelques minutes. Vous pouvez ensuite télécharger le résultat (fetch_feedback) pour le consulter.

Le reste de la correction est manuelle: vos enseignants regarderont vos réponses, vos interprétations des résultats et attribueront des points à chacune d’entre elles.

La première séance est une séance d’entraînement; les notes, indicatives, vous permettent de prendre en main le mécanisme. Si vous soumettez votre travail (même incomplet), vous aurez les cinq points du TP.

Voici un exemple : Dans la cellule suivante, calculez la somme de 3 et de 4, et stockez le résultat dans la variable s:

# YOUR CODE HERE
raise NotImplementedError()

La commande suivante est un test qui vérifie votre réponse; vous reconnaîtrez le assert que nous utilisions en python et en C++ au premier semestre:

assert s == 7

Consultez les instructions pour:

  1. Valider votre feuille de travail 1_jupyter.md

  2. Déposer votre travail sur GitLab

  3. Télécharger et consulter le résultat de la correction automatique

  • Pour ce premier TP, les scores sont indicatifs. Il suffit que vous déposiez le TP en temps et en heure sur GitLab pour obtenir tous les points.

  • Les feuilles peuvent contenir des tests cachés (qui influencent le score).

  • Les scores indiqués ne tiennent compte que de la correction automatique. Une autre partie du score sera attribuée par vos enseignants (en cours de mise en place; nous verrons si nous arrivons à le faire pour ce premier TP).

Au boulot!

Maintenant que vous avez appris les rudiments de Jupyter et de l’environnement de travail :

  • organisation d’une feuille de TP,

  • soumission et correction de TP,

  • création de cellules,

il est temps de faire le rappel sur python et les compréhensions! Passez à la feuille suivante Python: fonctions et compréhensions