Bienvenido a Platzi

Mario Alexander Vargas Celis

Mario Alexander Vargas Celis

student
hace 9 meses

El algoritmo de K-Means es uno de los algoritmos de clustering más populares en machine learning no supervisado. Su objetivo es dividir un conjunto de datos en K grupos (clústers), donde cada grupo contiene puntos que son similares entre sí y diferentes de los de otros grupos.

🧠 ¿Qué hace K-Means?

Dado un número K (el número de clústers deseado), el algoritmo agrupa los datos de forma que se minimice la distancia de cada punto a su centroide (el "centro" del clúster).

⚙️ ¿Cómo funciona K-Means? (Pasos)

  1. Inicialización:
    • Escoge K puntos aleatorios como centroides iniciales (uno por clúster).
  2. Asignación de clústers:
    • Cada punto se asigna al clúster más cercano (usando, por ejemplo, distancia euclidiana).
  3. Actualización de centroides:
    • Se recalcula el centroide de cada clúster como el promedio de los puntos asignados a él.
  4. Repetir:
    • Repite los pasos 2 y 3 hasta que:
      • Los centroides ya no cambian significativamente, o
      • Se alcanza un número máximo de iteraciones.

📈 Ejemplo visual

Imagina un conjunto de puntos dispersos. K-Means:

  • Coloca 3 puntos aleatorios como centroides (si K = 3).
  • Agrupa los puntos según cercanía a esos centroides.
  • Recalcula los centroides.
  • Repite hasta que las posiciones de los centroides se estabilicen.

✅ Ventajas

  • Fácil de entender e implementar.
  • Funciona bien con clústers esféricos y separados.
  • Rápido incluso con grandes conjuntos de datos.

⚠️ Limitaciones

  • Tienes que definir K previamente.
  • Es sensible a:
    • Outliers
    • Inicialización aleatoria (puede converger a soluciones subóptimas).
  • Asume que los clústers son de forma redonda y de tamaño similar.

🔍 ¿Cuándo usarlo?

  • Segmentación de clientes.
  • Agrupamiento de imágenes.
  • Análisis exploratorio de datos.
No hay respuestas
Curso de Clustering con Python y scikit-learn

Curso de Clustering con Python y scikit-learn

Agrupa países según métricas económicas y sociales usando clustering con Python y scikit-learn. Aprende a manejar datasets, eliminar duplicados, detectar outliers y normalizar variables. Aplica K-means, clustering jerárquico y DBSCAN.

Curso de Clustering con Python y scikit-learn
Curso de Clustering con Python y scikit-learn

Curso de Clustering con Python y scikit-learn

Agrupa países según métricas económicas y sociales usando clustering con Python y scikit-learn. Aprende a manejar datasets, eliminar duplicados, detectar outliers y normalizar variables. Aplica K-means, clustering jerárquico y DBSCAN.