on analyse
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Arnaud Vergnet 7ef6ff281e fix typo 10 months ago
artificial Initial commit V1 1 year ago
new-data start tp6 10 months ago
.gitignore Amelioration des librairies, fin de la partie clustering agglomeratif 1 year ago
README.md fix typo 10 months ago
mydatalib.py Utilisation du jeu de données réel 10 months ago
myplotlib.py Use mean shift instead of affinity propagation 10 months ago
requirements.txt Add requirements file 11 months ago
tp1-kmeans.py Clean up scripts 10 months ago
tp2-agglo.py Clean up scripts 10 months ago
tp3-dbscan.py Ajout dataset artificiels 10 months ago
tp4-mean-shift.py Use mean shift instead of affinity propagation 10 months ago
tp5-artificial-dataset.py Ajout dataset artificiels 10 months ago
tp5-preprocessing.py Utilisation du jeu de données réel 10 months ago
tp6-preprocessing.py ajout extension .py 10 months ago
tp6-real-dataset.py Improve readme 10 months ago

README.md

5ISS - Analyse et Traitement de Données

Paul Faure - Arnaud Vergnet

Ce dépôt contient les sources utilisées pour le TP de 5ISS en Analyse et Traitement de Données.

Il comprend un fichier par partie de TP (démarrant par tpX avec X la partie du tp) et deux fichiers servant de librairie commune (mydatalib.py pour le traitement de données, myplotlib.py pour l’affichage de graphes).

Installation

Ce TP utilise Python >3.8. Pour démarrer, cloner le dépôt et se déplacer dedans :

git clone https://git.etud.insa-toulouse.fr/vergnet/tp-analyse-donnees.git && cd tp-analyse-donnees

Ensuite créer un environnement virtuel et installer les dépendances :

python3 -m venv ./venv
pip install -r ./requirements.txt

Chaque scripte suppose que des jeux de données venant du benchmark de deric sont disponibles dans le dossier artificial.

L’environnement est maintenant prêt.

Fonctionnement général

Chaque script va générer les graphes de résultat dans le dossier ./IMG. Le dossier ./IMG/DATA_VISUALISATION contient les graphes des jeux de données brutes et mises à l’échelle, sans clustering.

Ensuite, nous avons un dossier par algorithme. Chacun contient ensuite un dossier par jeu de donnée. Enfin, ces jeux de données possèdent un dossier CLUSTERS contenant les graphes de clusters et un dossier EVALUATIONS contenant les métriques d’évaluation.

Chaque script peut être configuré à l’aide de plusieurs variables :

  • dataset_name: le nom du dataset à utiliser
  • path: le chemin vers le dossier contenant les dataset

Certains scripts possèdent d’autres variables de configurations expliquées dans la suite.

Parties du TP

K-Means

Cette partie se lance à l’aide de la commande suivante :

python3 tp1-kmeans.py

Ce script va appliquer l’algorithme K-Means sur le dataset donné pour k variant de 2 à 49.

Agglomerative

Cette partie se lance à l’aide de la commande suivante :

python3 tp2-agglo.py

Ce script possède un fonctionnement analogue au précédent, mais utilisant un algorithme agglomerative.

Une variable de configuration supplémentaire est disponible :

  • linkage: le type de linkage à utiliser

DBSCAN

Cette partie se lance à l’aide de la commande suivante :

python3 tp3-dbscan.py

Ce script possède un fonctionnement analogue aux précédents, mais utilisant un algorithme DBSCAN.

Mean Shift

Nous devions choisir un autre algorithme en plus des trois précédents. Nous avons donc choisi Mean Shift. Cette partie se lance à l’aide de la commande suivante :

python3 tp4-mean-shift.py

Ce script possède un fonctionnement analogue aux précédents, mais utilisant un algorithme de Mean Shift.

Jeu artificiel

Cette partie contient 2 scripts. Le premier sert à trouver un epsilon adapté pour dbscan et se lance avec la commande suivante :

python3 tp5-preprocessing.py

Le deuxième script applique les quatre algorithmes précédents sur une liste de jeux de données et se lance avec la commande suivante :

python3 tp5-artificial-dataset.py

Deux variables de configuration supplémentaire sont disponibles :

  • dataset_name_list: la liste de datasets à utiliser
  • eps_list: la liste des epsilon que dbscan doit utiliser pour chaque dataset

Jeu réel

Cette dernière partie se comporte comme la précédente, mais sur un jeu de donnée réel. Un script de pre processing pour trouver le bon epsilon est donc disponible et se lance en utilisant la commande suivante :

python3 tp6-preprocessing.py

Le dernier script permet de lancer les quatre algorithmes précédents sur le jeu de donnée réel, lu depuis un fichier csv. Le script va tout d’abord extraire des colonnes pour réduire le nombre de dimensions de ce jeu de donnée. Le script peut être lancé en utilisant la commande suivante :

python3 tp6-real-dataset.py

Plusieurs variables de configuration supplémentaire sont disponibles :

  • eps: la valeur d’epsilon à utiliser pour dbscan, identifiée avec le script tp6-preprocessing.py
  • first_column: la première colonne à considérer pour l’extraction du csv
  • last_column: la dernière colonne à considérer pour l’extraction du csv