Skip to content

K-Means : regrouper par centroïdes

K-Means place k centroïdes (des points « moyens »), puis répète deux étapes jusqu’à stabilisation : affecter chaque point au centroïde le plus proche, puis recalculer chaque centroïde comme la moyenne des points qui lui sont affectés. C’est un algorithme itératif simple, mais sensible à l’initialisation — d’où le paramètre n_init, qui relance l’algorithme plusieurs fois depuis des initialisations différentes et garde le meilleur résultat.

Le nombre de camions disponibles fixe naturellement k : ici, 4 camions, donc 4 zones.

from sklearn.cluster import KMeans
N_CAMIONS = 4
kmeans = KMeans(n_clusters=N_CAMIONS, random_state=42, n_init=10)
labels_kmeans = kmeans.fit_predict(coords_km)
print("Tailles de groupes K-Means:", np.bincount(labels_kmeans))
Tailles de groupes K-Means: [40 35 30 25]

Notez que k n’est pas ici déterminé par une méthode statistique (comme la méthode du coude) : il est imposé par une contrainte opérationnelle externe (le nombre de camions). C’est un cas fréquent en pratique — la métrique d’évaluation doit composer avec la réalité métier, pas l’inverse.

👉 CAH : le clustering hiérarchique agglomératif


Junior TSAFACK – 12/09/2026