Projet de l’UE RCP216

Merci de lire et de suivre les instructions ci-dessous.

Instructions

La note finale à l’UE sera la moyenne entre la note à l’examen sur table et la note de projet. Le projet sera réalisé individuellement et consistera à utiliser Spark pour traiter un problème (avec un jeu de données) parmi les types de problèmes suivants :

  1. Fouille de textes

  2. Fouille de graphes ou de réseaux sociaux

Pour cela, il faudra

A. Choisir un problème de fouille (avec un jeu de données)

  1. Parmi ceux proposés par les enseignants de l’UE (voir plus loin) ; dans ce cas, chacun doit faire son choix ici sur Moodle. Lors du choix, seuls sont accessibles les projets qui n’ont pas encore été choisis. Notez le choix que vous faites car le système peut ne pas vous afficher ce choix ensuite. Il n’est pas nécessaire de choisir immédiatement mais ne tardez pas trop, les sujets encore disponibles se restreindont au fur et à mesure que vos collègues feront leurs choix.

  2. Professionnels ou personnels, à condition d’avoir déjà les données ; dans ce cas, il faudra envoyer à michel.crucianu(à)cnam.fr, en mettant en copie fournier(à)cnam.fr, une description suffisante du problème et des données au plus tard le 1er décembre 2024 (évitez de joindre au message des données volumineuses, un lien web est préférable). Vous pouvez également utiliser des données recueillies pour l’UE NFE204 ou des données ouvertes provenant de sites comme https://www.data.gouv.fr/fr/, http://opendatafrance.net/, etc. ; il vous faudra définir un problème à étudier avec les données choisies. Attention, vous ne pouvez pas reprendre pour RCP216 le sujet que vous avez déjà traité pour STA211.

B. Réaliser une analyse des données et une modélisation permettant de répondre au problème posé, à l’aide d’une méthode étudiée en RCP216 (ou STA211), obligatoirement en utilisant Spark dans un des langages disponibles (python, scala, java ou éventuellement R) et les bibliothèques associées. Justifier les choix de méthode et de paramètres ; lier les résultats des éventuelles analyses préalables au choix de la ou des méthodes de modélisation.

C. Utiliser une méthode de visualisation adaptée parmi celles présentées en RCP216, à la fois pour la présentation de résultats et pour aider vos choix dans des étapes intermédiaires. Justifier le choix de la ou des méthodes. Expliciter les observations faites à partir de la visualisation.

Le rapport devra inclure une présentation claire et concise du problème et des données, une définition de l’objectif de l’étude, la démarche choisie et les résultats obtenus, ainsi qu’une conclusion, sans dépasser les 20 pages. D’éventuelles illustrations complémentaires, non essentielles pour la compréhension du travail, pourront être mises dans des annexes (après les \(\leq 20\) pages du rapport). Un exemple de très bon rapport se trouve ici (avec des sources en langage Scala).

Le rapport (obligatoirement en PDF), accompagné des programmes que vous avez développés, devra être archivé dans un seul fichier .zip et déposé ici sur Moodle .

  • au plus tard le 4 février 2025 ou

  • au plus tard le 8 avril 2025 – date limite ferme !

Les rapports seront évalués en deux tranches : ceux déposés au plus tard le 4 février seront évalués en février, ceux déposés après seront évalués en avril. Dans l’évaluation des rapports, nous tiendrons compte du délai supplémentaire significatif dont auront bénéficié les auditeurs qui auront déposé leur projet en avril.

En aucun cas le rapport ne sera envoyé par courriel aux enseignants (sauf si un enseignant vous le demande explicitement). Ne déposez pas de très gros fichiers (.jar, données, etc.) dans le .zip, mais seulement le rapport, les sources et éventuellement des données si elles ne dépassent pas 2 Mo et ne sont pas directement accessibles à travers un lien sur un site externe. Il n’y a aucune bonne raison pour que la taille de votre .zip soit supérieure à 10 Mo !

Aussi, il est inutile de nous transmettre un rapport qui traite d’autre chose que du sujet que vous avez choisi au départ (votre choix est enregistré), un tel rapport ne serait pas évalué.

Si vous avez une question importante lors de la réalisation du projet, n’hésitez pas à la poser à un des enseignants.

Sujets proposés

  1. PetFinder.my Adoption Prediction. L’objectif est de prédire la rapidité à laquelle un animal de compagnie est adopté, à partir de données multimodales décrivant ces animaux, dans une base de plus de 150 000 animaux de compagnie. Dans ce projet il faudra prendre en compte les variables nominales, quantitatives et les descriptions textuelles, mais pas les images ni les éventuelles vidéos. Les données et leur description sont sur https://www.kaggle.com/c/petfinder-adoption-prediction

  2. NSF Research Award Abstracts 1990-2003 Data Set : l’objectif est la classification automatique (thématique) et l’évolution des thématiques sur la période couverte par les résumés (1990-2003). Les données et leur description sont sur https://archive.ics.uci.edu/dataset/134/nsf+research+award+abstracts+1990+2003

  3. Amazon reviews : l’objectif est de faire une classification automatique des textes des revues et d’examiner ensuite la « pureté » des groupes ainsi obtenus par rapport aux notes correspondant aux revues (un groupe issu de la classification automatique des textes correspond aussi à une note ou un intervalle étroit de notes ?), pour les données issues de la base de données https://cseweb.ucsd.edu/~jmcauley/datasets.html#amazon_reviews, partie « movies and TV ».

  4. The Hewlett Foundation: Automated Essay Scoring : l’objectif est la notation automatique d’essais d’étudiants. Les données et leur description sont sur http://www.kaggle.com/c/asap-aes

  5. Amazon Commerce : l’objectif est la classification automatique selon le « style » d’écriture, ainsi que la reconnaissance de l’auteur. Les données et leur description sont sur http://archive.ics.uci.edu/dataset/215/amazon+commerce+reviews+set

  6. Co-publications en astro-physique : le site Arxiv permet aux chercheurs du monde entier de publier librement leurs articles de recherche, par discipline. Le jeu de données ca-AstroPh recense les collaborations entre auteurs de la catégorie Astro-physique, durant une période de 10 ans. Données : fichier, page de présentation. À l’aide des concepts et des indicateurs vus en cours et en TP, proposez une analyse de la structure de ce réseau. Terminez par une visualisation (éventuellement partielle) du graphe en utilisant les techniques et principes abordés.

  7. Youtube : Youtube est une plateforme de partage de vidéos, qui inclut des fonctions sociales (amitiés, groupes). Ces fonctionnalités évoluent, et les données proposées ici reposent sur une capture effectuée pour une publication en 2007. Données : fichier (11M), page de présentation (et une 2e page). À l’aide des concepts et des indicateurs vus en cours et en TP, proposez une analyse de la structure de ce réseau. Terminez par une visualisation (éventuellement partielle) du graphe en utilisant les techniques et principes abordés.

  8. Réseau électrique (power grid). Les données proviennent du réseau d’alimentation énergétique des USA. Chaque nœud représente une centrale de production, un transformateur ou un point de consommation. Deux nœuds y sont interconnectés s’il y a physiquement un câble qui les relie en réalité. Proposez une analyse de la structure de ce réseau petit monde, à l’aide de l’ensemble des notions vues en cours et TP. Proposez une visualisation (éventuellement partielle) du graphe en utilisant les techniques et principes abordés.

  9. Réseau d’e-mails. Les données représentent les échanges emails collectés pendant 3 mois et demi à l’Université de Kiel (Allemagne). Chaque sommet représente une adresse, et il y a un lien dirigé A->B si A a envoyé au moins un email à B. Proposez une analyse de la structure de ce réseau (que vous pouvez rendre d’abord non dirigé) à l’aide de l’ensemble des notions vues en cours et TP. Proposez une visualisation (éventuellement partielle) du graphe en utilisant les techniques et principes abordés.

  10. Environmental Reports and News Classification : l’objectif est de réaliser 5 classements, chacun en deux classes, pour un ensemble de brefs rapports. Les rapports sont dans la colonne “text”, les classements sont “problème environnemental”, “pollution”, “climat” et “biomonitoring” (dans les colonnes de noms correspondants) ; les étiquettes de classe absentes doivent être assimilées à la classe 0. Le problème est issu de Kaggle et les données sont dans ce fichier.

  11. Classification de discours : l’objectif est de classer le discours prononcé par une personnalité lors d’une convention de 2020 en démocrate ou républicain. Les données regroupent celles disponibles ici et ici. Il est nécessaire de découper ces données en données d’apprentissage (env. 50%) et données de test (les données restantes).