artificial | ||
new-data | ||
.gitignore | ||
mydatalib.py | ||
myplotlib.py | ||
README.md | ||
requirements.txt | ||
tp1-kmeans.py | ||
tp2-agglo.py | ||
tp3-dbscan.py | ||
tp4-mean-shift.py | ||
tp5-artificial-dataset.py | ||
tp5-preprocessing.py | ||
tp6-preprocessing.py | ||
tp6-real-dataset.py |
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 à utiliserpath
: 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 tp2-dbscan.py
Ce script possède un fonctionnement analogue aux précédents, mais utilisant un algorithme DBSCAN.