123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import os
- from scipy.io import arff
- from sklearn.cluster import AgglomerativeClustering
- from graphs import clustering_plot
-
-
- #####################################################
- #####################################################
- ### LIMITES DE LA METHODE AGGLOMERATIVECLUSTERING ###
- ### ###
- ### Données choisies: ###
- ### wingnut.arff --> 2 clusters ###
- ### zelnik4.arff --> 5 clusters ###
- ### cure-t1-2000n-2D.arff --> 6 clusters ###
- ### ###
- ### Etudiant: Abdel Kader CHABI SIKA B. ###
- ### DGEI / 5 SDBD 2020-2021 ###
- #####################################################
- #####################################################
-
- files = ["wingnut.arff", "zelnik4.arff", "cure-t1-2000n-2D.arff"]
- n_clusters = {"wingnut.arff":2, "zelnik4.arff":5, "cure-t1-2000n-2D.arff":6}
-
- print("Génération des figures ...")
- # Création des différents dossiers d'output
- try:
- os.mkdir("AgglClustOutput")
- except FileExistsError:
- pass
- try:
- os.mkdir("AgglClustOutput/limits")
- except FileExistsError:
- pass
-
- ################################
- ### NOMBRE DE CLUSTERS CONNU ###
- ################################
- for file in files:
- # Chargement des données contenues dans le fichier
- data = arff.loadarff(f="artificial/"+file)[0]
-
- # Extraction des points contenus dans la donnée
- points = [[c[0],c[1]] for c in data]
-
- # Création d'un modèle AgglomerativeClustering pour le clustering des points
- modele_kmeans = AgglomerativeClustering(n_clusters=n_clusters[file], affinity="euclidean")
-
- # Clustering et prédiction des clusters
- predictions = modele_kmeans.fit_predict(points)
-
- # Plotting des clusters
- clustering_plot([p[0] for p in points], [p[1] for p in points], predictions, xlabel="Abcisses", ylabel="Ordonnes",
- fig_title="Graphe de visualisation des clusters de "+file+"\nMéthode: AgglomerativeClustering",
- output="AgglClustOutput/limits/bad_clusters_" + file.split(".")[0] + "_n_clust_connu.png")#, show=True)
|