CASO PRÁCTICO TEMA 5
Short Description
Download CASO PRÁCTICO TEMA 5...
Description
CASO PRÁCTICO TEMA 5
Á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 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 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 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 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 de Datos para resolver diferentes problemas reales. 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, dependiendo de si se dispone o no a priori, respectivamente, del tipo de especie correspondiente a 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 diferentes que quieren analizar: setosa, versicolor y virginica. Para implementar el procedimiento, se opta por el uso del paquete estadístico Weka. Weka (Waikato Environment for Knowledge Analysis - Entorno para Análisis del Conocimiento de la Universidad de Waikato ) es un software (libre distribuido bajo licencia GNU-GPL) para aprendizaje automático y minería de datos escrito en Java y desarrollado en la Universidad de Waikato. El primer paso de los consultores de DME consiste en enseñar a los investigadores de ECOFLORA cómo instalar y utilizar la herramienta Weka. Para ello, les indican la siguiente URL: http://www.cs.waikato.ac.nz/ml/weka/.. A partir de este momento, considere que su papel en este caso http://www.cs.waikato.ac.nz/ml/weka/ práctico es el de un investigador de ECOFLORA. En el apartado de Download puede encontrar el 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 Documentation 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. 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 ARFF ( Attribute-Relation File Format ). ). Seleccione el fichero “iris.arff”, que se encuentra en el subdirectorio data de Weka. Observe la estructura del formato arff. Cualquier fichero .arff debe tener tres partes: - una cabecera: @relation - una definición de atributos: @attribute - los datos: @data 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
¿y si la anchura del sépalo es de 2.7 cm?.
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
Establecemos los parámetros para el algoritmo K = 2 (número de grupos)
=== 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: Test mode:
class 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: Cluster#
Attribute
Full Data (150)
0 (100)
1 (50)
============================================== sepallength 5.8433 6.262 5.006 sepalwidth petallength petalwidth
3.054 3.7587 1.1987
2.872 4.906 1.676
3.418 1.464 0.244
Clustered Instances 0 1
100 ( 67%) 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: Test mode:
class 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 sepalwidth petallength
5.8433 3.054 3.7587
5.8885 2.7377 4.3967
5.006 3.418 1.464
6.8462 3.0821 5.7026
petalwidth
1.1987
1.418
0.244
2.0795
Clustered Instances
0
61 ( 41%)
1 2
50 ( 33%) 39 ( 26%)
K=4
=== Run information === Scheme: weka.clusterers.SimpleKMeans -N 4 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: Instances: Attributes:
iris 150 5 sepallength sepalwidth petallength petalwidth
Ignored: Test mode:
class 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 petallength petalwidth
3.054 3.7587 1.1987
Clustered Instances 0 1 2
42 ( 28%) 29 ( 19%) 29 ( 19%)
3
50 ( 33%)
K=5
=== Run information ===
2.9 4.8738 1.6405
2.569 4.0034 1.231
3.1345 5.8552 2.1724
3.418 1.464 0.244
Scheme: weka.clusterers.SimpleKMeans -N 5 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 Relation: Instances:
iris 150
Attributes:
5 sepallength sepalwidth petallength petalwidth
Ignored: class evaluate on training data
Test mode:
=== 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 petallength
3.054 3.7587
2.7556 4.9444
2.5808 3.9269
3.137 5.8852
3.418 1.464
3.05 4.805
petalwidth
1.1987
1.7037
1.2
2.2
0.244
1.55
Clustered Instances 0
27 ( 18%)
1 2 3 4
26 27 50 20
( ( ( (
17%) 18%) 33%) 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: Attributes:
150 5 sepallength sepalwidth petallength petalwidth
Ignored: class evaluate on training data
Test mode:
=== 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# 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 Attribute
Clustered Instances 0 1 2 3 4 5
22 19 25 50 16 18
( ( ( ( ( (
15%) 13%) 17%) 33%) 11%) 12%)
K=7 === Run information === Scheme: Relation: Instances: Attributes:
weka.clusterers.SimpleKMeans -N 7 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 iris 150 5 sepallength sepalwidth petallength petalwidth
Ignored: Test mode:
class 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# 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 Attribute
K=7 === Run information === Scheme: Relation: Instances: Attributes:
weka.clusterers.SimpleKMeans -N 7 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 iris 150 5 sepallength sepalwidth petallength petalwidth
Ignored: class evaluate on training data
Test mode:
=== 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# 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 Attribute
Clustered Instances 0 1 2 3 4 5 6
22 19 25 14 16 18 36
( ( ( ( ( ( (
15%) 13%) 17%) 9%) 11%) 12%) 24%)
K=8 === Run information === Scheme: Relation:
weka.clusterers.SimpleKMeans -N 8 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 iris
Instances: Attributes:
150 5 sepallength sepalwidth petallength petalwidth
Ignored: Test mode:
class 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 1 2 3 4 5 6
22 19 25 14 16 18 36
( ( ( ( ( ( (
15%) 13%) 17%) 9%) 11%) 12%) 24%)
K=8 === Run information === Scheme: Relation:
weka.clusterers.SimpleKMeans -N 8 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 iris
Instances: Attributes:
150 5 sepallength sepalwidth petallength petalwidth
Ignored: class evaluate on training data
Test mode:
=== 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# 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 Attribute
Clustered Instances 0 1 2 3
22 19 25 13
( 15%) ( 13%) ( 17%) ( 9%)
4 5 6 7
16 18 20 17
( ( ( (
11%) 12%) 13%) 11%)
K=9 === Run information === Scheme: Relation: Instances: Attributes:
weka.clusterers.SimpleKMeans -N 9 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 iris 150 5 sepallength sepalwidth petallength petalwidth
Ignored: class training
Cluster# 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 Attribute
Clustered Instances 0 1 2 3
22 19 25 13
( 15%) ( 13%) ( 17%) ( 9%)
4 5 6 7
16 18 20 17
( ( ( (
11%) 12%) 13%) 11%)
K=9 === Run information === Scheme: Relation: Instances: Attributes:
weka.clusterers.SimpleKMeans -N 9 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 iris 150 5 sepallength sepalwidth petallength petalwidth
Ignored: class evaluate on training data
Test mode:
=== 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# 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 Attribute
petallength petalwidth
3.7587 1.1987
5.1611 1.8333
4.1875 1.25
5.908 2.204
1.5231 0.2846
4.925 1.5813
4.65 1.6
1.465 0.27
1.4176 0.1824
Clustered Instances 0 1 2 3 4 5 6 7 8
18 16 25 13 16 12 20 17 13
( ( ( ( ( ( ( ( (
12%) 11%) 17%) 9%) 11%) 8%) 13%) 11%) 9%)
K=10 === Run information === weka.clusterers.SimpleKMeans
10
"weka.core.EuclideanDistance
first-last"
500
10
3.7231 1.1538
kMeans ====== Number of iterations: 7 Within cluster sum of squared errors: 3.240418626354077 Missing values globally replaced with mean/mode Cluster centroids: Cluster# 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 Attribute
petallength petalwidth
3.7587 1.1987
5.1611 1.8333
4.1875 1.25
5.908 2.204
1.5231 0.2846
4.925 1.5813
4.65 1.6
1.465 0.27
1.4176 0.1824
3.7231 1.1538
Clustered Instances 0 1 2 3 4 5 6 7 8
18 16 25 13 16 12 20 17 13
( ( ( ( ( ( ( ( (
12%) 11%) 17%) 9%) 11%) 8%) 13%) 11%) 9%)
K=10 === Run information === Scheme: Relation: Instances:
weka.clusterers.SimpleKMeans -N 10 -A "weka.core.EuclideanDistance -R first-last" -I 500 -S 10 iris 150
Attributes:
5 sepallength sepalwidth petallength petalwidth
Ignored: Test mode:
class 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# 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 Attribute
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: Test mode:
class 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# 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 Attribute
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
View more...
Comments