← retour aux snippets

sklearn: KMeans + silhouette

Clustering KMeans et score de silhouette.

objectif

Clustering KMeans et score de silhouette.

code minimal

from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
from sklearn.datasets import make_blobs

X, _ = make_blobs(n_samples=200, centers=3, random_state=0)
km = KMeans(n_clusters=3, n_init=10, random_state=0).fit(X)
print(round(silhouette_score(X, km.labels_), 2) <= 1.0)

utilisation

print(km.cluster_centers_.shape)

variante(s) utile(s)

from sklearn.cluster import KMeans
print(hasattr(KMeans(n_clusters=2), "fit"))

notes

  • Tester plusieurs k et n_init pour stabilité.