Agrupamiento en clústers: Clasificación no supervisada

¿Qué es un cluster?

  • Un cluster es una agrupación de datos.

  • Datos similares se unen en una misma categoría.

  • Datos muy diferentes no se unen entre sí.

Objetivo: Que todos los datos se agrupen lo mejor posible.

Clustering

¿Para qué sirve?

  • Datos muy similares = comportamientos similares

  • Sistemas de recomendación

  • Agrupamiento de noticias

  • Advertising online: “Porque buscaste esto, quizás te interese…”

K-Medias (K-means)

  • A tu algoritmo le dices cuantas clases quieres. K = número de clases que quieres.

  • Cada dato tiene una etiqueta, que va cambiando conforme la media cambia.

  • Al final, la media deja de moverse, y los datos quedan agrupados.

Pieza clave: Distancia Euclidiana

Distancia entre dos puntos: - Punto y la media - Punto 1 y Punto 2

Si dos datos tienen una distancia grande: Los datos son muy diferentes. Si dos datos tienen una distancia pequeña: Los datos son muy similares. Si la distancia es 0: es el mismo dato.

Programando K-Medias con Sklearn

Vamos a crear datos dummy con Sklearn. Puedes usar un dataframe de pandas y transformarlo en arreglos de NumPy en tu proyecto ☺

Make_blobs hace datos dummy mas o menos agrupados.

Programando K-medias

Si plotteamos los datos con plt.scatter, se ven así. Objetivo: Agrupar los puntos del scatter en clases (o categorías).

Ahora mismo las clases son números. Pero pueden ser cualquier cosa: Tipo de cliente Calidad de material

Plotteando los resultados

  • Cada punto amarillo es un centroide: El centroide es la mejor representación de una clase.

  • Todos los puntos cercanos pertenecen a esa clase.

---> Sigue con el Reto 02 <---

Última actualización

¿Te fue útil?