CASO PRÁCTICO TEMA 5
CASO PRÁCTICO TEMA 5
ÁNALISIS DE DATOS MEDIANTE TÉCNICAS DE AGRUPAMIENTO
ÁNALISIS DE DATOS MEDIANTE TÉCNICAS DE AGRUPAMIENTO
La empresa ECOFLORA S.A., que se dedica al estudio de diferentes tipos de flores, está interesada La empresa ECOFLORA S.A., que se dedica al estudio de diferentes tipos de flores, está interesada en incorporar técnicas de análisis de datos, con el propósito de identificar de forma automática, en incorporar técnicas de análisis de datos, con el propósito de identificar de forma automática, subespecies con características similares dentro de una misma especie. Particularmente, en este subespecies con características similares dentro de una misma especie. Particularmente, en este momento está interesada en saber si es posible identificar o conocer a qué tipo de subespecie momento está interesada en saber si es posible identificar o conocer a qué tipo de subespecie pertenece una determinada flor, cuando sólo se dispone de información sobre la longitud y la pertenece una determinada flor, cuando sólo se dispone de información sobre la longitud y la anchura de los pétalos y sépalos de varias flores de la misma especie. Inicialmente, están anchura de los pétalos y sépalos de varias flores de la misma especie. Inicialmente, están interesados en extraer información sobre los distintos tipos de lirios, pero con el objetivo de poder interesados en extraer información sobre los distintos tipos de lirios, pero con el objetivo de poder aplicar después el procedimiento aprendido a otras especies. Para ello, se ponen en contacto con la aplicar después el procedimiento aprendido a otras especies. Para ello, se ponen en contacto con la consultora Data Mining Expert (DME), empresa dedicada a aplicar técnicas automáticas de Minería consultora Data Mining Expert (DME), empresa dedicada a aplicar técnicas automáticas de Minería de Datos para resolver diferentes problemas reales.
de Datos para resolver diferentes problemas reales.
Tras conocer el objetivo de la empresa ECOFLORA, los consultores de Data Mining Expert, Tras conocer el objetivo de la empresa ECOFLORA, los consultores de Data Mining Expert, recomiendan la aplicación de dos técnicas de agrupamiento de datos: k-NN y k-medias, recomiendan la aplicación de dos técnicas de agrupamiento de datos: k-NN y k-medias, dependiendo de si se
dependiendo de si se dispone o no a dispone o no a priori, respectivamente, priori, respectivamente, del tipo de del tipo de especie correspondiente aespecie correspondiente a cada muestra. Como primer paso, solicitan a la empresa ECOFLORA una base de datos con cada muestra. Como primer paso, solicitan a la empresa ECOFLORA una base de datos con información sobre longitudes y anchuras de pétalos y sépalos de los tres tipos (clases) de lirios información sobre longitudes y anchuras de pétalos y sépalos de los tres tipos (clases) de lirios diferentes que quieren analizar: setosa, versicolor y virginica.
diferentes que quieren analizar: setosa, versicolor y virginica.
Para implementar el procedimiento, se opta por el uso del paquete estadístico Weka.
Para implementar el procedimiento, se opta por el uso del paquete estadístico Weka.
Weka
Weka
(Waikato Environment for Knowledge Analysis-(Waikato Environment for Knowledge Analysis - Entorno Entorno para para Análisis Análisis del del Conocimiento Conocimiento de de lala Universidad
Universidad de Waikatode Waikato) es un) es un softwaresoftware (libre(libre distribuido bajo licenciadistribuido bajo licencia GNU-GPL)GNU-GPL) parapara aprendizaje automático
aprendizaje automático yy minería de datosminería de datos escrito enescrito en JavaJava y desarrollado en lay desarrollado en la UniversidadUniversidad dede Waikato.
Waikato.
El primer paso de los consultores de DME consiste en enseñar a los investigadores de ECOFLORA El primer paso de los consultores de DME consiste en enseñar a los investigadores de ECOFLORA cómo instalar y
cómo instalar y utilizar la utilizar la herramienta Weka. herramienta Weka. Para ello, Para ello, les indican les indican la siguiente la siguiente URL:URL:
http://www.cs.waikato.ac.nz/ml/weka/
http://www.cs.waikato.ac.nz/ml/weka/..A partir de este momento, considere que su papel en este casoA partir de este momento, considere que su papel en este caso práctico es el de un investigador de ECOFLORA. En el apartado de
práctico es el de un investigador de ECOFLORA. En el apartado de Download Download puede encontrar elpuede encontrar el paquete Weka adecuado a cada sistema operativo. Tiene que descargar dicho paquete e instalarlo, paquete Weka adecuado a cada sistema operativo. Tiene que descargar dicho paquete e instalarlo, siguiendo las recomendaciones que se indican en dicha página. En el apartado
siguiendo las recomendaciones que se indican en dicha página. En el apartado Documentation Documentation puede encontrar tutoriales (en inglés y castellano) sobre la instalación y utilización de Weka. Sigua puede encontrar tutoriales (en inglés y castellano) sobre la instalación y utilización de Weka. Sigua las instrucciones que aparecen en el tutorial seleccionado y familiarícese con dicha herramienta. las instrucciones que aparecen en el tutorial seleccionado y familiarícese con dicha herramienta. A continuación, los consultores de DME, le indican que para poder trabajar con los datos de los A continuación, los consultores de DME, le indican que para poder trabajar con los datos de los lirios es necesario poner dicha información en el formato adecuado para Weka: el formato de datos lirios es necesario poner dicha información en el formato adecuado para Weka: el formato de datos ARFF (
ARFF ( Attribute-Relation File Format Attribute-Relation File Format ). Seleccione). Seleccioneelelficherofichero “iris.arff”,“iris.arff”, que se encuentra en elque se encuentra en el subdirectorio
subdirectorio datadata de Weka. Observe la estructura del formato arff. Cualquier fichero .arff debede Weka. Observe la estructura del formato arff. Cualquier fichero .arff debe tener tres partes:
tener tres partes:
- una cabecera: @relation <nombre de la relación> - una cabecera: @relation <nombre de la relación>
- una definición de atributos: @attribute <nombre del atributo> <tipo> - una definición de atributos: @attribute <nombre del atributo> <tipo> - los datos: @data
- los datos: @data
Para mayor información sobre el formato ARFF, consulte la dirección web anterior. Para mayor información sobre el formato ARFF, consulte la dirección web anterior.
Compruebe si el fichero “iris.arff” cumple dicha estructura: ¿Cuántas muestras contiene de cada tipo de lirio?. ¿Cuántos atributos representan cada muestra?
A partir de este momento, podemos empezar a trabajar en Weka con sus datos. Recuerde que el objetivo de ECOFLORA (su empresa) es identificar diferentes tipos de lirios de forma automática a partir de las muestras disponibles en el fichero .arff.
La evaluación de este caso práctico se
realizará a partir de las respuestas proporcionadas a las cuestiones que se plantean en los
siguientes apartados
:1. Primero vamos a analizar los atributos. Cargue la base de datos “iris.arff” dentro de Weka Explorer Preprocess. Para cada atributo puede ver sus estadísticos (p.e., min, max, media, etc.) y el histograma de los datos con respecto a ese atributo. El histograma nos aporta mucha información ya que nos permite visualizar la correlación entre las etiquetas de las clases y el valor del atributo. El eje-x representa el valor del atributo y el eje-y es el número de instancias cuyo valor de ese atributo está dentro del intervalo.
Usando los histogramas de los atributos, responda a lo siguiente: si la longitud del sépalo de un lirio es de 4.4 cm, ¿qué tipo de lirio cree que será?,
Azul: Iris-setosa Rojo: Iris-versicolor Cyan: iris-virginica
Se puede notar el intervalo de [4.3,4.814] está dentro de la clase Iris-setosa
A mi parecer pueden tratarse de los tres tipos de lirios, claro que Iris-versicolor e iris-virginica tienen más instancias dentro del intervalo.
1. En este apartado vamos a considerar que las muestras recogidas no contienen información sobre el tipo de lirio al que pertenecen. Es decir, vamos a abordar una tarea de agrupamiento no supervisado (consultar apuntes teóricos) sobre los datos de los lirios. Considere todos los atributos, excepto las etiquetas que identifican a las tres subespecies. Seleccione Weka ExplorerCluster .
a) Agrupe los datos en k (variando k desde 2 hasta 10) grupos utilizando el algoritmo k-medias (SimpleKMeans en Weka). Observe los resultados utilizando las herramientas de visualización que proporciona Weka.
Seleccionamos el algoritmo k-medias
=== Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 2 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data
=== Model and evaluation on training set ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 12.143688281579722 Missing values globally replaced with mean/mode
Cluster centroids:
Attribute Full Data 0 1 (150) (100) (50) ============================================== sepallength 5.8433 6.262 5.006 sepalwidth 3.054 2.872 3.418 petallength 3.7587 4.906 1.464 petalwidth 1.1987 1.676 0.244 Clustered Instances 0 100 ( 67%) 1 50 ( 33%) K=3 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 3 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data
=== Model and evaluation on training set ===
kMeans ======
Number of iterations: 6
Within cluster sum of squared errors: 6.998114004826762 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 (150) (61) (50) (39) ========================================================= sepallength 5.8433 5.8885 5.006 6.8462 sepalwidth 3.054 2.7377 3.418 3.0821 petallength 3.7587 4.3967 1.464 5.7026 petalwidth 1.1987 1.418 0.244 2.0795 Clustered Instances
0 61 ( 41%) 1 50 ( 33%) 2 39 ( 26%)
K=4
=== Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 4 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data
=== Model and evaluation on training set ===
kMeans ======
Number of iterations: 4
Within cluster sum of squared errors: 5.532831003081898 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 (150) (42) (29) (29) (50) ==================================================================== sepallength 5.8433 6.25 5.5828 6.9586 5.006 sepalwidth 3.054 2.9 2.569 3.1345 3.418 petallength 3.7587 4.8738 4.0034 5.8552 1.464 petalwidth 1.1987 1.6405 1.231 2.1724 0.244 Clustered Instances 0 42 ( 28%) 1 29 ( 19%) 2 29 ( 19%) 3 50 ( 33%) K=5 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 5 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data
=== Model and evaluation on training set ===
kMeans ======
Number of iterations: 9
Within cluster sum of squared errors: 5.130784647061167 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 (150) (27) (26) (27) (50) (20) =============================================================================== sepallength 5.8433 6.0296 5.55 6.9667 5.006 6.55 sepalwidth 3.054 2.7556 2.5808 3.137 3.418 3.05 petallength 3.7587 4.9444 3.9269 5.8852 1.464 4.805 petalwidth 1.1987 1.7037 1.2 2.2 0.244 1.55 Clustered Instances 0 27 ( 18%) 1 26 ( 17%) 2 27 ( 18%) 3 50 ( 33%) 4 20 ( 13%) K=6 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 6 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth
Ignored:
class
Test mode: evaluate on training data === Model and evaluation on training set ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 4.687015166064156 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 (150) (22) (19) (25) (50) (16) (18) ========================================================================================== sepallength 5.8433 6.1273 5.4842 7.012 5.006 6.6313 5.8778 sepalwidth 3.054 2.7 2.4684 3.164 3.418 3.0375 2.9556 petallength 3.7587 5.1318 3.8632 5.908 1.464 4.8938 4.35 petalwidth 1.1987 1.8364 1.1684 2.204 0.244 1.5563 1.3889 Clustered Instances 0 22 ( 15%) 1 19 ( 13%) 2 25 ( 17%) 3 50 ( 33%) 4 16 ( 11%) 5 18 ( 12%) K=7 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 7 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data === Model and evaluation on training set ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 3.757589923861278 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 (150) (22) (19) (25) (14) (16) (18) (36) ===================================================================================================== sepallength 5.8433 6.1273 5.4842 7.012 5.3786 6.6313 5.8778 4.8611 sepalwidth 3.054 2.7 2.4684 3.164 3.8786 3.0375 2.9556 3.2389 petallength 3.7587 5.1318 3.8632 5.908 1.5071 4.8938 4.35 1.4472 petalwidth 1.1987 1.8364 1.1684 2.204 0.2786 1.5563 1.3889 0.2306
K=7
=== Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 7 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data === Model and evaluation on training set ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 3.757589923861278 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 (150) (22) (19) (25) (14) (16) (18) (36) ===================================================================================================== sepallength 5.8433 6.1273 5.4842 7.012 5.3786 6.6313 5.8778 4.8611 sepalwidth 3.054 2.7 2.4684 3.164 3.8786 3.0375 2.9556 3.2389 petallength 3.7587 5.1318 3.8632 5.908 1.5071 4.8938 4.35 1.4472 petalwidth 1.1987 1.8364 1.1684 2.204 0.2786 1.5563 1.3889 0.2306 Clustered Instances 0 22 ( 15%) 1 19 ( 13%) 2 25 ( 17%) 3 14 ( 9%) 4 16 ( 11%) 5 18 ( 12%) 6 36 ( 24%) K=8 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 8 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data === Model and evaluation on training set ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 3.4079099202793466 Missing values globally replaced with mean/mode
Clustered Instances 0 22 ( 15%) 1 19 ( 13%) 2 25 ( 17%) 3 14 ( 9%) 4 16 ( 11%) 5 18 ( 12%) 6 36 ( 24%) K=8 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 8 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data === Model and evaluation on training set ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 3.4079099202793466 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 7 (150) (22) (19) (25) (13) (16) (18) (20) (17) ================================================================================================================ sepallength 5.8433 6.1273 5.4842 7.012 5.3692 6.6313 5.8778 5.045 4.6824 sepalwidth 3.054 2.7 2.4684 3.164 3.9077 3.0375 2.9556 3.43 3.0294 petallength 3.7587 5.1318 3.8632 5.908 1.5231 4.8938 4.35 1.465 1.4176 petalwidth 1.1987 1.8364 1.1684 2.204 0.2846 1.5563 1.3889 0.27 0.1824 Clustered Instances 0 22 ( 15%) 1 19 ( 13%) 2 25 ( 17%) 3 13 ( 9%) 4 16 ( 11%) 5 18 ( 12%) 6 20 ( 13%) 7 17 ( 11%) K=9 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 9 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class training
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 7 (150) (22) (19) (25) (13) (16) (18) (20) (17) ================================================================================================================ sepallength 5.8433 6.1273 5.4842 7.012 5.3692 6.6313 5.8778 5.045 4.6824 sepalwidth 3.054 2.7 2.4684 3.164 3.9077 3.0375 2.9556 3.43 3.0294 petallength 3.7587 5.1318 3.8632 5.908 1.5231 4.8938 4.35 1.465 1.4176 petalwidth 1.1987 1.8364 1.1684 2.204 0.2846 1.5563 1.3889 0.27 0.1824 Clustered Instances 0 22 ( 15%) 1 19 ( 13%) 2 25 ( 17%) 3 13 ( 9%) 4 16 ( 11%) 5 18 ( 12%) 6 20 ( 13%) 7 17 ( 11%) K=9 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 9 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data === Model and evaluation on training set ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 3.240418626354077 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 7 8 (150) (18) (16) (25) (13) (16) (12) (20) (17) (13) =========================================================================================================================== sepallength 5.8433 6.1278 5.85 7.012 5.3692 6.6438 5.9417 5.045 4.6824 5.3385 sepalwidth 3.054 2.6333 2.775 3.164 3.9077 3.0188 3.0583 3.43 3.0294 2.4077 petallength 3.7587 5.1611 4.1875 5.908 1.5231 4.925 4.65 1.465 1.4176 3.7231 petalwidth 1.1987 1.8333 1.25 2.204 0.2846 1.5813 1.6 0.27 0.1824 1.1538 Clustered Instances 0 18 ( 12%) 1 16 ( 11%) 2 25 ( 17%) 3 13 ( 9%) 4 16 ( 11%) 5 12 ( 8%) 6 20 ( 13%) 7 17 ( 11%) 8 13 ( 9%) K=10 === Run information ===
kMeans ======
Number of iterations: 7
Within cluster sum of squared errors: 3.240418626354077 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 7 8 (150) (18) (16) (25) (13) (16) (12) (20) (17) (13) =========================================================================================================================== sepallength 5.8433 6.1278 5.85 7.012 5.3692 6.6438 5.9417 5.045 4.6824 5.3385 sepalwidth 3.054 2.6333 2.775 3.164 3.9077 3.0188 3.0583 3.43 3.0294 2.4077 petallength 3.7587 5.1611 4.1875 5.908 1.5231 4.925 4.65 1.465 1.4176 3.7231 petalwidth 1.1987 1.8333 1.25 2.204 0.2846 1.5813 1.6 0.27 0.1824 1.1538 Clustered Instances 0 18 ( 12%) 1 16 ( 11%) 2 25 ( 17%) 3 13 ( 9%) 4 16 ( 11%) 5 12 ( 8%) 6 20 ( 13%) 7 17 ( 11%) 8 13 ( 9%) K=10 === Run information ===
Scheme: weka.clusterers.SimpleKMeans -N 10 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: iris Instances: 150 Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data === Model and evaluation on training set === kMeans
======
Number of iterations: 7
Within cluster sum of squared errors: 3.192318466613457 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 7 8 9
(150) (18) (16) (25) (13) (16) (12) (20) (9) (13) (8) ====================================================================================================================================== sepallength 5.8433 6.1278 5.85 7.012 5.3692 6.6438 5.9417 5.045 4.8333 5.3385 4.5125 sepalwidth 3.054 2.6333 2.775 3.164 3.9077 3.0188 3.0583 3.43 2.9667 2.4077 3.1 petallength 3.7587 5.1611 4.1875 5.908 1.5231 4.925 4.65 1.465 1.4667 3.7231 1.3625 petalwidth 1.1987 1.8333 1.25 2.204 0.2846 1.5813 1.6 0.27 0.1778 1.1538 0.1875 Clustered Instances 0 18 ( 12%) 1 16 ( 11%) 2 25 ( 17%) 3 13 ( 9%) 4 16 ( 11%) 5 12 ( 8%) 6 20 ( 13%) 9 6%)
Attributes: 5 sepallength sepalwidth petallength petalwidth Ignored: class
Test mode: evaluate on training data === Model and evaluation on training set === kMeans
======
Number of iterations: 7
Within cluster sum of squared errors: 3.192318466613457 Missing values globally replaced with mean/mode
Cluster centroids:
Cluster#
Attribute Full Data 0 1 2 3 4 5 6 7 8 9
(150) (18) (16) (25) (13) (16) (12) (20) (9) (13) (8) ====================================================================================================================================== sepallength 5.8433 6.1278 5.85 7.012 5.3692 6.6438 5.9417 5.045 4.8333 5.3385 4.5125 sepalwidth 3.054 2.6333 2.775 3.164 3.9077 3.0188 3.0583 3.43 2.9667 2.4077 3.1 petallength 3.7587 5.1611 4.1875 5.908 1.5231 4.925 4.65 1.465 1.4667 3.7231 1.3625 petalwidth 1.1987 1.8333 1.25 2.204 0.2846 1.5813 1.6 0.27 0.1778 1.1538 0.1875 Clustered Instances 0 18 ( 12%) 1 16 ( 11%) 2 25 ( 17%) 3 13 ( 9%) 4 16 ( 11%) 5 12 ( 8%) 6 20 ( 13%) 7 9 ( 6%) 8 13 ( 9%) 9 8 ( 5%)
a) Represente el SSE (la suma de los errores cuadráticos) cuando el número de grupos varía de 2 a 10. Describa el comportamiento de dicha curva en una o dos frases. Calcule también la media y la desviación típica de cada grupo. Deberá seleccionar como la mejor agrupación de datos, aquella que proporcione menor SSE. SSE es una medida de calidad del agrupamiento obtenido.
a) Represente el SSE (la suma de los errores cuadráticos) cuando el número de grupos varía de 2 a 10. Describa el comportamiento de dicha curva en una o dos frases. Calcule también la media y la desviación típica de cada grupo. Deberá seleccionar como la mejor agrupación de datos, aquella que proporcione menor SSE. SSE es una medida de calidad del agrupamiento obtenido.
El valor de SSM es alto cuando el número de grupos es pequeño y tiende a
disminuir en intervalos cada vez más cortos conforme el número de grupos crece, pienso que tiende a estabilizarse