Ce projet conclut un cours de fin d’année, donc l’objectif est de mettre en avant ce que vous avez appris durant le M1, dans les deux cours de Python mais aussi ailleurs (autres cours, entreprise).

Le sujet

Le choix du sujet est libre ! On vous demande de vous poser une problématique et d’y répondre en utilisant des données. La section Sources de données ci-dessous détaille les dépôts de données utilisables. D’autres choix sont possibles, après accord (demande par mail à fournier@cnam.fr, avant le 19 mai 2017).

Le travail s’articule dans 3 directions :

  • l’obtention des données : via une API, ou via un ou plusieurs fichiers texte. Une attention particulière sera accordée aux formats des données (utilisation directe possible, transformation indispensable) et à leur qualité (données manquantes, structure, etc.)

  • le traitement et l’analyse : La présence de statistiques descriptives est indispensable dans le projet. L’idée est d’adopter la démarche vue ensemble : on commence par explorer les données avec des indicateurs simples, pour se donner des éléments de réponse à la problématique. Vous êtes libres d’aller ensuite plus loin, en creusant la documentation d’une bibliothèque type scikit-learn et en utilisant des modèles proposés.

  • La représentation/visualisation des données : un dessin efficace vaut parfois plus qu’un long discours, dit-on. Vous pourrez représenter vos données avec matplotlib, voire essayer seaborn, si vous le souhaitez. Le choix des représentations (courbe ou histogramme) et leur qualité (axes nommés, échelles satisfaisantes, couleurs lisibles) sont évalués

Dans chacune de ces 3 directions, il est possible d’aller plus ou moins loin, il en sera tenu compte pour l’évaluation.

Le projet dure 6 semaines. Il se conclut par un programme et un rapport, éventuellement imbriqués au sein d’un notebook. Le rapport doit souligner les contributions originales de chacun, illuster les résultats numériques et la façon dont ils ont été obtenus (décrire la façon dont le travail a été réparti, les principales difficultés rencontrées, le point de code dont vous êtes fiers).

Sources de données

Vous devrez choisir un jeu de données avec au moins 1500 observations (le jeu de données de l’IUF vu en cours en comporte 2041, il satisfait cette condition, mais vous ne pouvez l’utiliser).

  • Le dépôt OpenData ESR créé par E. Weisenburger et Y. Caradec est évidemment à privilégier, compte tenu de la qualité des données et des APIs. Il comporte 72 jeux de données, dont 37 satisfont la condition de taille demandée.

  • Le portail data.gouv.fr, “Plateforme ouverte des données publiques françaises”, est très riche en jeux de données, accessibles avec ou sans API.

  • l’API de la SNCF, accessible sur inscription.

  • le portail OpenData de la métropole rennaise

Les détails

  • Modalités du travail : seul ou en binôme. Pas de trinôme.
  • Date de remise du travail : 27-06-2017 23h59 (heure de Paris)
  • Pas de soutenance
  • Formats possibles pour la remise du projet :

    • notebook
    • code Python + rapport pdf (20 pages maximum)
  • Contenu attendu :

    • le rapport ou le notebook s’adressent à un public expert
    • le notebook éventuel comporte des parties de code et des parties de texte pour expliquer le code en détail. Le code source éventuel est documenté.
  • Transmission du projet :

    • uniquement par mail à fournier@cnam.fr
    • sujet du message : MEDAS Tri : Projet <Nom1>-<Nom2> (exemple : MEDAS Tri : projet Fournier-Kembellec)
    • en pièce jointe : le notebook nommé Projet <nom1>-<nom2>.ipynb ou le code (Projet<nom1>-<nom2>.py) et un document pdf (Projet<nom1>-<nom2>.pdf).
  • Barême probable :

    • obtention des données : 4 points
    • traitement et analyse des données : 6 points
    • visualisation des données : 5 points

    • soin du code (commentaires, nommage des variables) : 2 points
    • démarche et organisation du travail : 3 points

    • les notes seront individualisées au besoin
  • Pénalité pour non respect de l’intégralité des consignes ci-dessus : -6 pts

  • Remarque : le matériel pédagogique de Xavier Dupré de l’ENSAE est d’excellente qualité et vous permettra de compléter ce que nous avons vu ensemble en cours. Vous pouvez lire et ré-exécuter ses différents notebooks pour faire avancer vos projets. En revanche, reprendre plus de 30% de son code dans le vôtre sera assimilé à du plagiat (et c’est bien entendu valable pour d’autres auteurs de code que Xavier Dupré).