Metoda fit
Lekcja 10 z 19 w kursie Wprowadzenie do uczenia maszynowego w Coddy.
Wyzwanie
TrudnyZaimplementuj metodę fit i metodę find_cluster_centroid. Metoda find_cluster_centroid znajduje centroid danej listy punktów (klastra). Instrukcje dotyczące wyznaczania centroidu znajdziesz w poprzedniej lekcji. Aby zaimplementować metodę fit, postępuj zgodnie z poniższymi instrukcjami:
- Inicjalizacja centroidów: Najpierw wybierz
kpunktów ze zbioru danych jako początkowe centroidy. Aby zaliczyć testy, wybierz 3., 5., 7., 9. i kolejne punkty jako początkowe centroidy (zależnie od liczby punktówk) - Przypisywanie do klastrów: Dla każdego punktu w zbiorze danych znajdź najbliższy centroid (używając miar odległości, takich jak odległość euklidesowa) i przypisz punkt do tego klastra.
- Aktualizacja centroidów: Gdy wszystkie punkty zostaną przypisane do klastrów, oblicz ponownie centroidy, wyznaczając średnią ze wszystkich punktów w każdym klastrze.
- Powtarzanie kroków 2 i 3: Powyższe kroki są powtarzane, aż centroidy przestaną się znacząco zmieniać. Jeśli odległość między nowym centroidem a poprzednim centroidem jest mniejsza niż
0.01, zatrzymaj się
Jak zaliczyć testy:
- Zapisz centroidy w zmiennej
self.centroids. - Gdy znajdziesz nowe centroidy, jeśli łączna odległość między nowymi centroidami a poprzednimi jest mniejsza niż
0.01, zachowaj poprzednie centroidy. - Kolejność centroidów jest ważna. zawsze iteruj po centroidach od początku do końca.
- Testy wypiszą
self.centroidsi sprawdzą, czy są poprawne.
Spróbuj swoich sił
def euclidian_distance(point_a, point_b):
return (sum([(point_a[i] - point_b[i])**2 for i in range(len(point_a))]))**0.5
class KMeans:
def __init__(self, k):
self.k = k
def find_cluster_centroid(self, cluster_points):
# Napisz tutaj swój kod
def fit(self, X_train):
# Napisz tutaj swój kod
self.centroids = ...
def predict(self, X_test):
passWszystkie lekcje w sekcji Wprowadzenie do uczenia maszynowego
Poćwicz samodzielnie: Kompilator Python online
