Proszę zaimplementować algorytm k-średnich (K-means) dla podanych punktów danych.
[(3,7),(2,2),(2,5),(1,3),(8,6)]
Algorytm K-średnich jest używany do znajdowania klastrów w danych poprzez przypisanie podobnych punktuw danych do tego samego klastra.

Algorytm zaczyna od losowego przypisania ponktów danych do dwóch klastrów. Nastenpnie oblicza centroid każdego klastra, biorąc średnią punktów w każdym klastrze. Centroid klastra 1 to (2,4; 4,4), a centroid klastra 2 to (4,8; 5,2).

Algorytm następnie iteruje między dwoma krokami. Pierwszym krokiem jest przypisanie każdego punktu danych do najbliższego centroidu klastra poprzez obliczenie odległości euklidesowej. Drugim krokiem jest aktoalizacja centroidu karzdego klastra poprzez wzięcie średniej punktów karzdego klastra.

Po zbiegnięciu algorytmu (tj. brako zmiany położenia centroidu każdego klastra), każdy punkt danych został przypisany do klastra, a klastry mogą być używane do analizy. W danym przykładzie końcowe przyporządkowanie klastrów to [(3,7) → Klastr 1, (2,2) → Klastr 1, (2,5) → Klastr 1, (1,3) → Klastr 1, (8,6) → Klastr 2].