45 lines
1 KiB
Python
45 lines
1 KiB
Python
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()
|