Semaine 4#

Consignes#

Avant mardi 13 février 23h59:

  • [ ] Relire les diapos du cours 4

  • [ ] Faire les feuilles 1 à 3 et commencer la feuille 4

Cours#

Conventions de codage avec Flake 8#

L’outil flake8 permet de vérifier que votre code respecte les conventions de codage usuelles de Python, telles que définies notamment par le document PEP 8.

La semaine dernière une erreur avait été laissée dans utilities.py afin que vous la corrigiez. Celle-ci était plutôt compliquée. Cette semaine nous avons introduit des erreurs plus classiques. La cellule suivante affiche des avertissements; suivez les indications données et modifiez utilities.py afin de respecter les conventions de codage.

from intro_science_donnees import code_checker
code_checker("flake8 utilities.py")

TP: VI-ME-RÉ-BAR sur vos propres données#

Objectif#

La semaine dernière, vous vous êtes familiarisés avec le schéma VI-ME-RÉ-BAR – [VI]sualisation, [ME]sure, [RÉ]férence (baseline), [BAR]res d’erreur – en reproduisant une analyse de données préexistante dont l’objet était de classifier automatiquement des images de pommes et bananes.

Maintenant, c’est à vous de jouer! Vous allez effectuer en binôme votre propre analyse de données, sur l’un des jeux de données fournis. Chacun de ces jeux consiste en vingt images réparties en deux classes: poules et canards, émoticons tristes et gais, paumes et dos de la main, ou chiffres manuscrits zéro et un. Saurez-vous apprendre à l’ordinateur à distinguer automatiquement ces deux classes d’images? Nous avons veillé à ce que votre défi ne soit ni trop simple, ni trop compliqué.

Ce travail sera l’objet du premier projet qui va se dérouler sur les deux semaines qui viennent:

Semaine 4:

  • Constitution des binômes

  • Choix du jeu de données.

  • Feuilles 1 à 3 et début de la feuille 4: chargement des données

Semaine 5:

  • Fin de la feuille 4 et feuille 5. Cela revient à :

    • Traitement des images numériques pour en extraire des attributs (features) simples.

    • Utilisation d’un premier classificateur donné par vos enseignantes et enseignants, afin d’obtenir une performance de [RÉ]férence (baseline) pour ce jeu de données et aussi d’un autre classificateur suite à la feuille 5.

    • Évaluation de la performance.

  • Dépôt final avant mardi 27 février à 23h59

Déposez au fur et à mesure votre travail dans son état d’avancement. Votre version définitive sera évaluée par vos enseignants (15% de la note finale).

Consignes#

Vous documenterez au fur et à mesure votre analyse de données dans le document exécutable analyse de données, en suivant la trame fournie. Gardez notamment une trace des expérimentations intermédiaires («nous avons essayé telle combinaison d’attributs; voici les résultats et la performance obtenue»). Ce document devra rester à tout moment synthétique, suivant notamment les bonnes pratiques vues la semaine dernière:

  • Mettez dans le fichier utilities.py les utilitaires du TP3 que vous souhaitez réutiliser, ainsi que vos nouvelles fonctions.

  • Complétez régulièrement le rapport ci-dessous, notamment pour qu’il affiche le code de toutes les fonctions que vous avez implantées. Vérifiez à chaque fois le résultat des outils de vérifications (flake8, …).

  • Lorsque vous avez besoin de brouillon – par exemple pour mettre au point du code – créez des petites feuilles Jupyter séparées pour ne pas polluer votre document.

La qualité de la rédaction sera l’un des critères d’évaluation du mini-projet.

Au travail!#

Rédaction#

Cette feuille joue aussi le rôle de mini-rapport. Elle vous permettra à vous et votre enseignant.e d’évaluer rapidement votre avancement sur ce mini-projet.

Au fur et à mesure du TP, vous cocherez ci-dessus les actions que vous aurez effectuées; pour cela, double-cliquez sur la cellule pour l’éditer, et remplacez - [ ] par - [x]. Vous prendrez aussi des notes ci-dessous. Enfin, vous consulterez la section « Revue de code » ci-dessous pour vérifier la qualité de votre code.

VOTRE RÉPONSE ICI

Revue du code#

Affichage du code des principales fonctions#
from intro_science_donnees import show_source
from utilities import *
# Feuille 2_images.md
show_source(show_color_channels)
show_source(foreground_filter)
show_source(redness)

Si vous définissez d’autres fonctions, affichez en le code ici.

Conventions de codage#

Vous avez modifié utilities.py lors de ce TP. Vérifiez à nouveau les conventions de codage:

from intro_science_donnees import code_checker
code_checker("flake8 utilities.py")

Barême indicatif /20#

  • 1_tableaux.md : 1,5 points

  • 2_images.md : 2 points

  • 3_features.md : 1 point

  • 4_analyse_de_données.md : 10 points

  • 5_classificateur.md : 4 points (+ 3 points bonus pour le OneR)

  • index (semaine 4 et 5) : 1,5 points