Machine Learning - Clustering
KMeans
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
from sklearn.metrics import silhouette_score
X, _ = make_blobs(n_samples=1000, centers=4, cluster_std=1.2, random_state=42)
pipe = make_pipeline(StandardScaler(), KMeans(n_clusters=4, n_init=10, random_state=42))
labels = pipe.fit_predict(X)
print({"silhouette": silhouette_score(X, labels)})
DBSCAN
from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
cl = make_pipeline(StandardScaler(), DBSCAN(eps=0.5, min_samples=5))
labels = cl.fit_predict(X)