Master IA/DS : Data Mining - 2024/2025

Introduction
Ceci est la page du cours de Data Mining pour les M2 IA et Data Science, université Lyon 1.

Rooms - Schedule

Vous pouvez retrouver le détail des horaires et des salles là : https://adelb.univ-lyon1.fr/
Les cours ont lieu par défaut le mardi matin, mais avec de nombreuses exception. Se reporter au calendrier détaillé ci-dessous pour les détails. Le chargé de TP cette année sera Célestin Coquidé (mail: prenom.nom @univ-lyon1.fr)

Programme et contenus

Ci-dessous, une vue générale des cours du semestre. Il s'agit d'un programme provisoire qui sera amené à évoluer.
Les contenus seront mis à jour au fur et à mesure.



Topic Resources
Vendredi 6 Sep.(9:45-13h) - Introduction, Data Description Slides - TP
Mardi 10 Sep.(9:45h-13h) - Clustering beyond k-means Slides - TP
Mardi 17 Sep.(9:45-13h) - Networks 1 - Centralities Slides - TP1 - TP2 - CheatSheet_intro - CheatSheet_matrices - CheatSheet_centralities
Vendredi 27 Sep.(9:45-13h) - Networks 2 - Community Detection + présentation projet Slides
Mardi 8 Oct.(8:00-13h) - Recommendation/Matrix Factorization 8h-9h45: TP projet - 9h45-13h: Cours + TP
Slides - TP
Mardi 15 Oct. (8:00-13h) - Data transformation + Projet 8h-9h45: TP projet - 9h45-13h: Cours + TP
Slides - TP
Mercredi 16 Oct. (14:00-19:00) - Frequent Patterns TP Projet de 17:15 à 19h00 Slides - TP
Mercredi 23 Oct. (14:00-19:00) - : Spatial and temporal TP Projet de 17:15 à 19h00 Slides - TP
08/11: Examen Final (9h45-13h00)


Data

Data description Clustering Networks Recommendation/Data transformation/Frequent Patterns SpatioTemporal

Tools

Vous allez travailler majoritairement avec python.
Vous pouvez soit travailler avec google colab (vous pouvez utiliser google drive pour stocker des fichiers facilement accessible), soit bien sûr travailler en local sur votre machine. Dans ce cas, il vous faudra installer quelques packages particulièrement utile:

Python

  • notebook. Jupyter notebook
  • pandas. Pandas
  • scikit-learn. Machine learning/Data mining
  • seaborn. ploting library
  • networkx. Generic network analysis
  • cdlib. Community detection
Si vous n'êtes pas familiers avec pandas, je propose un tutoriel rapide
ici
De même une introduction/rappel sur les structures de données en python (listes, dictionnaires, sets...)ici

Gephi

Gephi is a software for basic graph manipulation and visualization. Although you can't do much in term of graph analysis, it is really convenient to explore and visualize graphs of small to medium size ( < 1000 nodes).
It can be donwloaded there : Gephi.
Gephi requires Java, and suffer from a few bugs on windows (but there is no better alternative). Here are solutions to common problems:

Exams

Projet

  • Pour faire le projet, vous pouvez vous mettre par groupe de 2 ou 3. Vous devez clairement indiquer qui a travaillé sur quelle partie Les notes pourront être individualisées.
  • L'objectif du projet est de prendre un jeu de données réel, et de l'analyser en utilisant les techniques et outils vus en cours. Vous pouvez utiliser des outils que nous n'avons pas vu en cours, mais une partie importante du projet doit concerner l'application du cours. Je donne quelques conseils pour trouver un dataset.
  • Le rendu est composé de deux éléments: 1)Le code. Peut être sous forme de notebook, de fichiers .py, ou une combinaison des deux. 2)Un document PDF de type rapport, qui doit viser à être de qualité professionnelle (Rapport d'entreprise ou article scientifique). 3000 mots maximum. Le rapport doit être très soigné. Il doit décrire les données, et présenter une analyse claire et pertinente.
  • La note évaluera 1)l'usage de plusieurs méthodes vues en cours, 2)La qualité du document (lisibilité, clarté des explications, usages de terminologie précise et adéquate). Le code en lui-même ne sera pas évalué, mais il sera regardé pour s'assurer que le travail a bien été effectué par les étudiants.
  • Le projet est à rendre pour le Dimanche 17 Novembre, 23:59, en le déposant dans Tomuss, sois sous la forme d'un fichier, sois sous la forme d'une URL vers un dépôt de type GitHub/GitLab.

Examen final

Pour l'examen final: Je n'attends pas de vous de savoir par cœur les équations des différentes méthodes, ou de savoir appliquer des méthodes que nous n'avons pas appliqué en TP. J'attends de vous de savoir quelles sont les différentes méthodes que j'ai présenté, et, dans les grandes lignes, leur fonctionnement et leurs différences. Vous aurez le droit aux documents papier durant l'examen. Annale de 2022 avec éléments de correction
Annale de 2023 avec éléments de correction
Lien vers le site de l'an dernier