alexanderholt
11/16/2017 - 2:37 AM

DBSCAN

from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler
from sklearn import metrics

X_scaled = StandardScaler().fit_transform(X)

dbscn = DBSCAN(eps = 4, min_samples = 5).fit(X_scaled)  

labels = dbscn.labels_  
print(labels)

n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
n_clusters_
print('Estimated number of clusters: %d' % n_clusters_)
print("Homogeneity: %0.3f" % metrics.homogeneity_score(y, labels))
print("Completeness: %0.3f" % metrics.completeness_score(y, labels))
print("Silhouette Coefficient: %0.3f"
      % metrics.silhouette_score(X_scaled, labels))