método fit
Lección 10 de 19 del curso Introducción al aprendizaje automático de Coddy.
Desafío
DifícilImplementa el método fit y el método find_cluster_centroid. El método find_cluster_centroid encuentra el centroide de una lista dada de puntos (clúster). Las instrucciones sobre cómo encontrar el centroide se encuentran en la lección anterior. Para implementar el método fit, sigue estas instrucciones:
- Inicializar Centroides: Primero, elige
kpuntos como los centroides iniciales del conjunto de datos. Para pasar los casos de prueba, elige los puntos 3º, 5º, 7º, 9º, … como centroides iniciales (dependiendo de los puntosk) - Asignar Clústeres: Para cada punto en el conjunto de datos, encuentra el centroide más cercano (usando medidas de distancia como la distancia euclidiana) y asigna el punto a ese clúster.
- Actualizar Centroides: Una vez que todos los puntos han sido asignados a los clústeres, recalcula los centroides tomando la media de todos los puntos en cada clúster.
- Repetir Pasos 2 y 3: Los pasos anteriores se repiten hasta que los centroides ya no cambien significativamente. Si la distancia entre el nuevo centroide y el centroide anterior es menor que
0.01, detente
Cómo pasar los casos de prueba:
- Guarda los centroides en la variable
self.centroids. - Una vez que encuentres nuevos centroides y la distancia total entre los nuevos centroides y los anteriores sea menor que
0.01, mantén los centroides anteriores. - El orden de los centroides es importante. Itera siempre sobre los centroides de principio a fin.
- Los casos de prueba imprimirán
self.centroidsy validarán si son correctos.
Pruébalo tú mismo
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):
# Escribe tu código aquí
def fit(self, X_train):
# Escribe tu código aquí
self.centroids = ...
def predict(self, X_test):
passTodas las lecciones de Introducción al aprendizaje automático
Practica por tu cuenta: Compilador de Python online
