Master IA/DS : Data Mining - 2023/2024

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. Attention, le mardi matin, le créneau réservé est 8h-11h, mais, sauf exception, les cours commencerons en fait à 9h45.

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.

Correction pour les TPs: Fichier zip

Topic Resources
Mardi 12 Sep.(9:45-13h) - Introduction, Data Description Slides - TP:Guidé OU TP:Autonomie
Vendredi 15 Sep.(14h-17h) - Clustering beyond k-means Slides - TP
Mardi 19 Sep.(9:45-13h) - Networks 1 - Centralities Slides - TP1 - TP2 - CheatSheet_intro - CheatSheet_matrices - CheatSheet_centralities
Jeudi 21 Sep.(14:00-17h) - Networks 2 - Community Detection Slides
Mardi 26 Sep.(9:45-13h) - Recommendation/Matrix Factorization Slides - TP
Mardi 3 Oct. (9:45-13h) - Data transformation + Projet Slides - TP
Mardi 10 Oct.(8:00-13h) - Frequent Patterns: (TP libre de 8 à 9h45) Slides - TP
Mardi 17 Oct. (8:00-13:00) - : Research-Grade: Dynamic network clustering (TP libre de 8 à 9h45) Slides - TP
Mercredi 18 Oct. (14:00-17h) - : Projet
07/11: Final Exam (9h00-11h00) Déambu 4


Data

Data description
  • A synthetic, toy dataset about used cars: cars_synthetic.csv
  • A real dataset about used cars usedCarsVW.csv. This dataset comes from Kaggle. The complete dataset is available here.
Clustering Networks Recommendation/Data transformation

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, de 6 pages maximum + éventuellement une annexe composée de figures + légende. Le rapport doit être 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é effecté par les étudiants.
  • Le projet est à rendre pour le Dimanche 19 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 l'année précédente avec éléments de correction
Éléments de correction de l'examen de 2023