K-means es un algoritmo de clustering utilizado en el campo del aprendizaje no supervisado. El objetivo del algoritmo es agrupar un conjunto de datos en K clústeres (donde K es un número predefinido de clústeres) basados en la similitud de las observaciones entre sí. El algoritmo asigna inicialmente K centroides de manera aleatoria y luego asigna cada punto de datos al centroide más cercano. Los centroides se recalculan repetidamente y los puntos se reasignan a los centroides
más cercanos hasta que se alcanza la
convergencia. Es ampliamente utilizado
en tareas de segmentación de clientes,
clasificación de texto y procesamiento
de imágenes, entre otras aplicaciones.