from scipy.io import arff import numpy as np from sklearn.cluster import KMeans from sklearn.datasets import make_blobs import matplotlib.pyplot as plt from sklearn import metrics from sklearn.cluster import AgglomerativeClustering from sklearn.cluster import DBSCAN import hdbscan n_clusters = 2 data_final = [] x_list = [] y_list = [] z_list = [] silhouette = [] calinski = [] davies = [] data = np.loadtxt('t.data') for (x, y, z) in data : x_list.append(x) y_list.append(y) z_list.append(z) data_final.append([x,y,z]) clustering = DBSCAN(eps=0.25, min_samples=10).fit(data_final) colors = clustering.labels_ silh = metrics.silhouette_score(data_final, colors, metric='euclidean') dbsc = metrics.davies_bouldin_score(data_final, colors) caha = metrics.calinski_harabasz_score(data_final, colors) print("Coefficient de silhouette : ", silh) print("Indice de Davies Bouldin : ", dbsc) print("Indice de calinski harabasz : ", caha) plt.axes(projection='3d').scatter3D(x_list, y_list, z_list, c=colors) plt.show()