Exercices de programmation pour classes préparatoires
L'algorithme des k-moyennes (k-means) regroupe un nuage de points en k clusters. A chaque iteration :
Ecrire une fonction kmeans_etape(points, centres) qui effectue une seule iteration et renvoie la nouvelle liste de centres obtenus.
points est une liste de tuples (x, y).centres est une liste de tuples (x, y) (les centres initiaux).[[x, y], ...] de listes (et non de tuples) de meme longueur que centres, dans le meme ordre.Cas particulier : si un cluster se retrouve vide (aucun point ne lui est affecte), son centre conserve les memes coordonnees (converties en liste [x, y]).
En cas d'egalite de distance entre un point et plusieurs centres, affecter le point au centre d'indice le plus petit.
| Appel | Résultat attendu |
|---|---|
| kmeans_etape([(0, 0), (2, 0)], [(0, 0), (2, 0)]) | [[0.0, 0.0], [2.0, 0.0]] |
| kmeans_etape([(0, 0), (0, 2), (10, 10), (10, 12)], [(0, 0), (10, 10)]) | [[0.0, 1.0], [10.0, 11.0]] |
Connectez-vous pour soumettre du code.