Agrupamiento en clústers: Clasificación no supervisada
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
¿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.
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.
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
Cada punto amarillo es un centroide: El centroide es la mejor representación de una clase.
Todos los puntos cercanos pertenecen a esa clase.