fit-Methode
Lektion 10 von 19 im Kurs Einführung in maschinelles Lernen von Coddy.
Aufgabe
SchwerImplementieren Sie die Methode fit und die Methode find_cluster_centroid. Die Methode find_cluster_centroid findet den Zentroiden einer gegebenen Liste von Punkten (Cluster). Die Anweisungen zum Finden des Zentroiden finden Sie in der vorherigen Lektion. Um fit zu implementieren, folgen Sie diesen Anweisungen:
- Zentroiden initialisieren: Wählen Sie zuerst
kPunkte aus dem Datensatz als initiale Zentroiden aus. Um die Testfälle zu bestehen, wählen Sie den 3., 5., 7., 9., … Punkt als initiale Zentroiden (abhängig vonkPunkten). - Cluster zuweisen: Finden Sie für jeden Punkt im Datensatz den nächstgelegenen Zentroiden (unter Verwendung von Distanzmaßen wie der euklidischen Distanz) und weisen Sie den Punkt diesem Cluster zu.
- Zentroiden aktualisieren: Sobald alle Punkte den Clustern zugewiesen sind, berechnen Sie die Zentroiden neu, indem Sie den Mittelwert aller Punkte in jedem Cluster bilden.
- Schritte 2 und 3 wiederholen: Die obigen Schritte werden wiederholt, bis sich die Zentroiden nicht mehr signifikant ändern. Wenn der Abstand zwischen dem neuen Zentroiden und dem vorherigen Zentroiden weniger als
0.01beträgt, stoppen Sie.
So bestehen Sie die Testfälle:
- Speichern Sie die Zentroiden in der Variable
self.centroids. - Sobald Sie neue Zentroiden finden und die Gesamtdistanz zwischen den neuen Zentroiden und den vorherigen weniger als
0.01beträgt, behalten Sie die vorherigen Zentroiden bei. - Die Reihenfolge der Zentroiden ist wichtig. Iterieren Sie immer von Anfang bis Ende über die Zentroiden.
- Die Testfälle geben
self.centroidsaus und validieren, ob sie korrekt sind.
Probier es selbst
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):
# Schreibe deinen Code hier
def fit(self, X_train):
# Schreibe deinen Code hier
self.centroids = ...
def predict(self, X_test):
passAlle Lektionen in Einführung in maschinelles Lernen
Übe selbstständig: Online-Python-Compiler
