Beruflich Dokumente
Kultur Dokumente
Para realizar el caso práctico debe descargar los siguientes ficheros de datos con formato
arff: “Sellowine‐red”, “Sellowine‐white”, y “Sellowine‐all”.
La empresa ENOVINHO es una empresa que comercializa el famoso “vinho verde”
producido en el noroeste de Portugal, vino que debe su nombre al color del paisaje donde se
cultivan los viñedos.
La empresa quiere instalar un sistema automatizado que realice un análisis químico del vino
producido y, en función de la calidad del mismo, proceda a su envasado con dos marcas
diferentes: marca blanca, para vino de baja calidad; y marca comercial propia, para el vino de
calidad media‐alta. Para ello, la empresa selecciona al azar 6457 botellas de vino (1593 de vino
tinto y 4864 de vino blanco) de los distintos productores, todas correspondientes a las tres últimas
añadas. Los enólogos realizan un análisis químico del vino contenido en cada una de las botellas, y
“tres catadores de vino” clasifican cada botella como contenedora de vino de “calidad” o de “no
calidad”. Se decide que una botella contiene vino de “calidad” si dos o más catadores así lo
afirman (se considera la moda de las opiniones de los catadores). Las botellas con vino de
“calidad” se etiquetan con un sello identificativo.
Para automatizar el proceso de certificación de calidad, la empresa ENOVINHO decide ponerse
en contacto con la consultora DME (Data Mining Expert). Se pretende que DME analice la base de
datos disponible y establezca las relaciones oportunas entre la composición química del vino y su
calidad, proporcionando una herramienta que, automáticamente y a partir de los resultados de su
análisis químico (medidas objetivas), determine si un vino puede llevar o no el sello de calidad.
Con este objetivo, ENOVINHO proporciona a la consultora DME los datos de un análisis químico de
cada botella en base a 11 atributos (variables) que la empresa considera importantes para
determinar la calidad del vino:
‐ Acidez fija (g/decímetro cúbico)
‐ Acidez volátil (g/decímetro cúbico)
‐ Ácido cítrico (g/decímetro cúbico)
‐ Azúcar residual (g/decímetro cúbico)
‐ Cloruros (g/decímetro cúbico)
‐ Dióxido de azufre libre (mg/decímetro cúbico)
‐ Dióxido de azufre total (mg/decímetro cúbico)
‐ Densidad (g/centímetro cúbico)
‐ pH
‐ Sulfato de potasio (g/decímetro cúbico)
‐ Alcohol (% vol.)
1
A partir de este momento, considere que usted trabaja en DME y que la consultora utiliza el
software de minería de datos WEKA (presentado en la práctica anterior).
Como primer paso, utilice el fichero “Sellowine‐all.arff”. Este fichero contiene información, tanto
de los 11 atributos relacionados con el análisis químico (nombre y tipo de dato) como de la calidad
del vino (si tiene o no sello de calidad). Contiene las características asociadas a los dos tipos de
vino: blanco (“Sellowine‐white”,) y tinto (“Sellowine‐red”). Como se observa en el fichero ARFF,
tras la palabra clave @data, cada fila corresponde a las características de una muestra y el último
valor de la fila indica si el vino es merecedor de un sello de calidad (“si”) o no (“no”):
Para responder a las siguientes preguntas utilice la herramienta Explorer de Weka, que
proporciona acceso a las distintas funcionalidades a través de menús.
1. Como primera etapa, analice los datos. Para ello, cargue el fichero “Sellowine‐all.arff”
utilizando el sub‐entorno Weka Explorer‐> Preprocess‐> Open file. ¿Hay algún atributo con
valores perdidos (missing)?
Al observar el histograma del atributo “sello” comprobamos que existen muchas más botellas
de vino con sello de calidad que sin él. De hecho, como se observa en la siguiente figura, el
63.2% del total de muestras tienen sello de calidad.
2
Considerando ahora los ficheros “Sellowine‐white” y “Sellowine‐red”, indique qué
porcentaje de muestras de vino blanco tienen sello de calidad, ¿y de vino tinto?
2. Utilice nuevamente el fichero “Sellowine‐all.arff”. Observe el histograma de cada una de las
variables. A partir de esta información, ¿considera que alguna variable es más significativa
para determinar si el vino merece sello de calidad? Justifique su respuesta.
3. Considere ahora un clasificador neuronal de tipo RBF. Para ello, una vez cargados los datos,
vaya a la pestaña Classify y seleccione el clasificador RBF (RBFNetwork), tal como se indica en
la siguiente figura:
3
Si pulsa sobre RBFNetwork con el botón izquierdo del ratón, aparecerá otra ventana que
proporciona ayuda sobre el modo en que Weka implementa el clasificador RBF, así como
sobre el significado de todas las opciones disponibles.
A la vista de esta información, y para el problema considerado, responda razonadamente a las
siguientes preguntas:
‐ ¿implementa el algoritmo de aprendizaje utilizado por Weka algún tipo de
preprocesado de datos?
‐ si el parámetro numClusters es 2, ¿cuántas neuronas ocultas tendrá la RBFN?,
¿cuántos parámetros {w} en la capa de salida?
4
‐ ¿implementa alguna técnica de regularización? En caso afirmativo, cuál es el valor del
parámetro de regularización por defecto
‐ ¿qué tipo de aprendizaje, de los estudiados en el Tema 6, implementa Weka para
encontrar los valores de los parámetros de cada capa?
‐ ¿puede tener cada neurona oculta un parámetro σ diferente?, ¿cómo se obtiene?
4. Puesto que no se dispone de un conjunto de test, para evaluar las prestaciones del clasificador
se reservará un porcentaje (34%) del total de muestras disponibles. Para ello, vaya a Classify‐>
Test options, seleccione Percentage Split‐> 66%, y realice un barrido del número de clusters
para completar la Tabla 1. Utilice los parámetros por defecto en todos los experimentos (sólo
hay que modificar el parámetro numClusters).
¿Cuántos coeficientes tiene la capa de salida de la RBF implementada por Weka?
¿Qué tipo de arquitectura de red implementa Weka, RBF estándar o RBF normalizada?
numClusters=2 numClusters=8 numClusters=15 numClusters=21 numClusters = 27
% acierto si
% acierto no
% medio de
acierto
Tabla 1 – Tasa de acierto considerando todos los tipos de vino y distintas arquitecturas de RBF
Indique analíticamente cómo se obtiene el valor del “% medio de acierto” a partir de los
valores “% acierto si” y “% acierto no”.
5
A la vista de los resultados de la Tabla 1:
‐ ¿Qué tipo de vino (de “calidad” o de “no calidad”) es más sensible al número de neuronas
en la capa oculta?
‐ ¿Cuántas neuronas utilizaría en la capa oculta de la RBFN para diseñar el clasificador?
5. Para realizar un análisis más detallado, el director de DME le pide que realice el mismo análisis
del apartado anterior pero utilizando de modo independiente las muestras de cada tipo de
vino (“Sellowine‐white.arff” para el vino blanco, y “Sellowine‐red.arff” para el vino tinto) y
completando las siguientes tablas.
Vino tinto numClusters=2 numClusters=8 numClusters=15 numClusters=21 numClusters = 27
% acierto si
% acierto no
% medio de
acierto
Tabla 2 – Tasa de acierto considerando el vino tinto y distintas arquitecturas de RBF
Vino blanco numClusters=2 numClusters=8 numClusters=15 numClusters=21 numClusters = 27
% acierto si
% acierto no
% medio de
acierto
Tabla 3 – Tasa de acierto considerando el vino blanco y distintas arquitecturas de RBF
A la vista de los resultados de la Tabla 2 y de la Tabla 3, responda a las siguientes preguntas:
‐ ¿Existe un tipo de vino para el que, sistemáticamente, hay una diferencia considerable en
el porcentaje de acierto de cada categoría (si/no sello de calidad)?
‐ ¿A qué podría atribuirlo? Tenga en cuenta el número de ejemplos de los conjuntos de
datos utilizados en el aprendizaje
6
‐ ¿Qué sucede con la clasificación del tipo de vino tinto cuando aumenta el número de
neuronas en la capa oculta?
‐ En general, y para los dos tipos de vino, ¿qué categoría (si/no sello de calidad) es la más
difícil de discriminar?
Con el fin de obtener resultados con mayor representatividad estadística, el director de DME
decide trabajar únicamente con los datos asociados al vino blanco (fichero “Sellowine‐white.arff”)
y utilizar la herramienta de análisis de datos Experimenter. Esta herramienta, más avanzada que
Explorer, permite automatizar el proceso de ejecución de varios clasificadores con diferentes
parámetros (en nuestro caso, varias RBFN con distinto número de neuronas en la capa oculta)
sobre el mismo conjunto de datos. Esto permite analizar los resultados de manera cómoda, al
comparar las prestaciones de los distintos clasificadores y proporcionar estadísticas sobre las
diferencias entre ellos.
Los pasos a seguir son los siguientes:
‐ Abra Experimenter
‐ En la pestaña Setup, pulse el botón New para generar un nuevo experimento
‐ En Datasets, seleccione el conjunto de datos “Sellowine‐white.arff”
‐ En el tipo de experimento (Experiment Type), seleccione:
o Cross‐validation con 5 pliegues (folds), y
o Classification
‐ En el número de realizaciones (Iteration Control‐>Number of repetitions), indique 5
‐ En el Algoritmo, seleccione el clasificador RBFNetwork y considere tres arquitecturas
diferentes (botón Add new), con numClusters={ 2, 15, 27}
Quedando la pestaña Setup del siguiente modo:
7
Explique qué diferencia hay entre el modo de evaluación considerado con la
herramienta Explorer en los apartados anteriores y el que se utiliza en la configuración
mostrada en la figura anterior. Justifique también por qué los resultados obtenidos ahora
tendrán mayor representatividad estadística.
Una vez configurado el experimento, pulse en la pestaña Run y luego el botón Start.
Espere (aproximadamente 4 minutos, dependiendo del ordenador) hasta que finalice la
simulación, lo que se indica con el mensaje “Finished” en la ventana actual.
A continuación, pulse la pestaña Analyse para analizar los resultados del experimento:
‐ Pulse el botón Experiment para estudiar los resultados del experimento actual.
‐ Para obtener el porcentaje de acierto y la desviación típica, seleccione en Configure test:
o Comparison field‐> Percent_correct
o Y active la casilla Show std. deviations
‐ A continuación, pulse el botón Perform test y observe los resultados, que aparecen en la
ventana de la derecha (Test output).
En la ventana Test output, la nomenclatura v ó * indica que un determinado resultado es
estadísticamente mejor (v) o peor (*) que el esquema base (en general, el primero) con el nivel de
significación especificado (por defecto 0.05). Los números (v/ / *) que aparecen debajo de cada
8
clasificador indican el número de veces que el clasificador es mejor (v), igual y peor (*) que el
clasificador de referencia (clasificador base).
Analizando los valores que aparecen en la ventana de resultados:
‐ ¿Qué quiere decir el valor (25) de la fila “sellowine‐white”?
‐ ¿Hay alguna arquitectura de red que parezca más adecuada?
‐ ¿Son los resultados obtenidos con la arquitectura anterior significativamente mejores que
el resto?
Teniendo en cuenta el análisis realizado, sugiera (y justifique) qué podría hacer como investigador
de DME para diseñar un clasificador de tipo RBFN que proporcionara mejor capacidad de
generalización, ¿utilizaría el mismo conjunto de datos?
9