Improved README

This commit is contained in:
Arnaud Vergnet 2022-01-08 17:07:07 +01:00
parent 9bf6c5e65f
commit 2fa6908d64

View file

@ -1,10 +1,10 @@
# 5ISS- Analyse et Traitement de Données # 5ISS - Analyse et Traitement de Données
Paul Faure - Arnaud Vergnet 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. 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 (`tp1-kmeans.py.py`, `tp2-agglo.py.py` et `tp3-dbscan.py`) et deux fichiers servant de librairie commune (`mydatalib.py` pour le traitement de données, `myplotlib.py` pour l'affichage de graphes). 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 ## Installation
@ -21,33 +21,50 @@ python3 -m venv ./venv
pip install -r ./requirements.txt pip install -r ./requirements.txt
``` ```
Chaque scripte suppose que des jeux de données venant du [benchmark de deric](https://github.com/deric/clustering-benchmark) sont disponibles dans le dossier `artificial`.
L'environnement est maintenant prêt. L'environnement est maintenant prêt.
## TP1 ## Fonctionnement général
Ce tp se lance à l'aide de la commande suivante : 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 :
```shell ```shell
python3 tp1-kmeans.py python3 tp1-kmeans.py
``` ```
Il suppose que des jeux de données sont disponibles dans le dossier `artificial`. Il va tout d'abord créer dans le dossier `./IMG/DATA_VISUALISATION` les images associées aux graphes des jeux de données golfball, xclara, et xclara après une mise à l'échelle. Ce script va appliquer l'algorithme K-Means sur le dataset donné pour k variant de 2 à 49.
Ensuite, il va appliquer l'algorithme K-Means sur le dataset xclara pour k variant de 2 à 49. Les graphes résultants sont sauvegardés dans `./IMG/k-means/xclara/CLUSTERS`. Ce script génère aussi des graphiques sur différentes métriques comme le temps de calcul ou le coefficient de silhouette pour analyser les performances de K-Means. Ces graphiques sont sauvegardés dans `./IMG/k-means/xclara/EVALUATION`. ### Agglomerative
## TP2 Cette partie se lance à l'aide de la commande suivante :
Ce tp se lance à l'aide de la commande suivante :
```shell ```shell
python3 tp2-agglo.py python3 tp2-agglo.py
``` ```
Ce script possède un fonctionnement analogue au précédent, mais utilisant un algorithme agglomerative. Les graphes résultants sont donc sauvegardés dans `./IMG/agglomerative_complete`. Ce script possède un fonctionnement analogue au précédent, mais utilisant un algorithme agglomerative.
## TP3 Une variable de configuration supplémentaire est disponible :
- `linkage`: le type de linkage à utiliser
Ce tp se lance à l'aide de la commande suivante : ### DBSCAN
Cette partie se lance à l'aide de la commande suivante :
```shell ```shell
python3 tp2-dbscan.py python3 tp2-dbscan.py
``` ```
Ce script possède un fonctionnement analogue aux précédents, mais utilisant un algorithme DBSCAN. Les graphes résultants sont donc sauvegardés dans `./IMG/dbscan`. Ce script possède un fonctionnement analogue aux précédents, mais utilisant un algorithme DBSCAN.