4.3. Algoritmos de agrupamiento particionales
4.3.1. Algoritmo k means
4.3.1.1. Agrupamiento de datos mediante k means
El algoritmo k-means es considerado como el referente principal entre los diversos
algoritmos para generar grupos representativos en un conjunto de datos. Su funcio- namiento se basa fundamentalmente en la optimización de la función definida en la expresión (4.7), un criterio de mínima distancia para realizar la asignación de los datos a los grupos en los que se divide el conjunto de datos, así como la manera en que se actualizan los centros de dichos grupos. A continuación se aplica el algoritmo descrito
en 4.3.1a una de las bases de datos más conocidas, la base de datos Iris (Iris flower data
set or Fisher’s Iris data set) [Fisher,1936]. El objetivo es mostrar como se realiza el proceso
de agrupamiento utilizando el algoritmo k-means. La base de datos Iris cuenta con 50 muestras de tres tipos de especies de flor Iris (Setosa, Virgínica y Versicolor), ver Figura
4.3, de las cuales se midieron cuatro características: longitud y ancho del sépalo, longitud y ancho del pétalo. Todas las medidas se expresan en centímetros.
(a) (b) (c)
Figura 4.3:Ejemplos de la flor Iris. (a) Iris setosa. (b) Iris versicolor. (c) Iris virginica. En la Figura 4.4 se muestra una gráfica de la base de datos, tomando en cuenta dos de las cuatro características, longitud de sépalo vs. longitud de pétalo. En esta figura se
observa que, el grupo correspondiente a la clase Iris setosa está perfectamente separado del otro grupo que está formado por las otras dos clases Iris virgínica y versicolor, respectivamente.
4 4.5 5 5.5 6 6.5 7 7.5 8 1 2 3 4 5 6 7 Logitud de sepalo Logitud de petalo Iris setosa Iris versicolor Iris virginica
Figura 4.4: Representación gráfica de los datos la base de datos Iris en un espacio de características en 2D, utilizando dos de sus características principales, longitud de sépalo y longitud de pétalo.
Antes de continuar con el ejemplo de agrupamiento es necesario aclarar que, a pesar de saber la etiqueta o, en este caso, el grupo al cual pertenece cada uno de los datos como se muestra en la Figura4.4, para aplicar cualquiera de los algoritmos presentados en este capítulo, se considera que se tiene una base de datos sin etiquetar, es decir, no se sabe a que grupo o clase pertenece cada uno de los datos que la conforman, como se muestra en la Figura4.5.
Teniendo en cuenta la consideración, el objetivo ya es conocido, obtener informa- ción del conjunto de los datos a través de un tipo partición. Para el ejemplo presentado, el problema es saber a que grupo pertenece cada uno de los datos. Como punto de partida, se sabe el número de grupos en que se va a dividir el conjunto de datos, lo que lo convierte en una condición inicial para el algoritmo. Por otro lado, se sabe que hay aplicaciones en las que este punto de referencia no siempre estará disponible. En esos casos, el usuario puede o debe definir algún(os) criterio(s) como punto de partida para poder llevar a cabo el agrupamiento independientemente de las condiciones iniciales de la técnica empleada para realizar el proceso.
Para analizar el funcionamiento delk-means se aplica el algoritmo descrito en la subsec-
ción 4.3.1con el fin de agrupar la base de datos Iris, teniendo en cuenta las siguientes
condiciones iniciales así como algunas de las etapas del agrupamiento presentadas en
4 4.5 5 5.5 6 6.5 7 7.5 8 1 2 3 4 5 6 7 Logitud de sepalo Logitud de petalo
Figura 4.5:Representación gráfica de los datos sin etiquetar de la base de datos Iris en un espacio de características 2D, utilizando dos de sus características principales, longitud de sépalo y longitud de pétalo.
Número de particiones de los datos,K=3.
Valores iniciales de los centros: seleccionados de forma aleatoria. Tipo de distancia: euclídea.
Valor de toleranciaε=0,001 Total de datos: 150
Número de características: 2 (longitud de sépalo y longitud de pétalo).
La Figura4.6muestra el resultado obtenido del proceso de agrupamiento de la base de datos Iris aplicando el algoritmok-means.
En la Figura4.7se puede apreciar como fue la actualización de los centros de los grupos durante todo el proceso de agrupamiento.
De acuerdo con los resultados obtenidos, el k-means funciona muy bien cuando los
grupos son disjuntos (grupos aislados) y compactos como se aprecia en la Figura4.6. Los datos correspondientes al grupo Iris setosa ( ) están totalmente separados del resto de los datos. En el caso donde los grupos están solapados, como es el caso de los datos del grupos del Iris versicolor ( ) y los datos del grupo Iris virginica ( ), al algoritmo le cuesta trabajo realizar la partición de estos grupos de manera satisfactoria, como se aprecia en la Figura4.8. Esto se debe a que el algoritmo realiza una partición dura o estricta del conjunto de los datos. Por lo tanto, el algoritmo no realiza una buena partición deXy asigna datos
4 4.5 5 5.5 6 6.5 7 7.5 8 1 2 3 4 5 6 7 Logitud de sepalo Logitud de petalo
Figura 4.6:Resultado del proceso de agrupamiento de datos sobre la base de datos Iris aplicando el algoritmok-means.
4 4.5 5 5.5 6 6.5 7 7.5 8 1 2 3 4 5 6 7 Logitud de sepalo Logitud de petalo
Figura 4.7: Representación de la actualización de los centros de cada grupo durante el proceso de agrupamiento utilizando elk-means.
de un grupo especifico (Iris virginica) a otro (Iris versicolor). Para tener una idea más clara del error cometido por elk-means en la partición de estos datos, en la Figura4.8, se
muestra el solapamiento de los datos de los grupos correspondientes que, incluso para un ser humano, su separación en sus respectivos grupos, supondría una tarea muy difícil
4.5 5 5.5 6 6.5 7 7.5 8 3 3.5 4 4.5 5 5.5 6 6.5 7 Logitud de sepalo Logitud de petalo Iris virginica Iris versicolor
Figura 4.8: Representación del traslape de los datos entre los grupos Iris versicolor y virginica.
si no se contara con algún tipo de información sobre estos. Una forma de solucionar este inconveniente aplicando el algoritmo sería seleccionar una(s) característica(s) que mejor representen a los datos o cambiar el algoritmo por otro que aporte otro tipo de información que sirva de ayuda en el proceso de agrupamiento. Finalmente en la Figura
4.9se pueden apreciar aquellos datos que fueron mal agrupados por elk-means.