Práctica 3 de Minería de Datos -...

28
Práctica 3 de Minería de Datos Profundizando en el Curso de Postgrado Minería de Datos Máster y Postgrado del DSIC Universitat Politècnica de València José Hernández Orallo. ([email protected] ). Diciembre 2006

Transcript of Práctica 3 de Minería de Datos -...

Page 1: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

Práctica 3 de Minería de Datos

Profundizando en el

Curso de Postgrado Minería de Datos

Máster y Postgrado del DSIC Universitat Politècnica de València

José Hernández Orallo. ([email protected]). Diciembre 2006

Page 2: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

2

Índice 1. Patrones Descriptivos...................................................................................................................................... 2

1.1 Reglas de Asociación y Dependencias.................................................................................................... 2 1.2 Reglas de Asociación y Determinación (segundo ejemplo) .................................................................... 6 1.3 Estudios de Correlación .......................................................................................................................... 6 1.4 Segmentación .......................................................................................................................................... 7

2. Patrones Predictivos ...................................................................................................................................... 11 2.1 Patrones Secuenciales. Regresión ......................................................................................................... 11 2.2 Clasificación.......................................................................................................................................... 12

2.2.1 Varios modelos para el monks1 .................................................................................................... 12 2.2.2 Sobremuestreo para el problema del Post-operatorio.................................................................... 13

3. Exportación de Modelos y Resultados .......................................................................................................... 16 4. Soluciones ..................................................................................................................................................... 21

4.1 Problema de la Cesta de la Compra: ..................................................................................................... 21 4.2 Problema del Titanic ............................................................................................................................. 23 4.3 Problema de la Correlación de atributos de Empleados: ....................................................................... 25 4.4 Problema de segmentación de clientes:................................................................................................. 27 4.5 Problema de la Cámara: ........................................................................................................................ 27 4.6 Problema del Monks1: .......................................................................................................................... 28 4.7 Problema del Postoperatorio (balanceo)................................................................................................ 28 4.8 Ejemplo de Exportación de Datos ......................................................................................................... 28

En esta práctica vamos a profundizar en los modelos descriptivos y predictivos de Clementine. Ahora las rutas no se indicarán paso a paso sino que se propondrá el problema y, en caso de no llegar a la solución correcta, se puede consultar la ruta correspondiente en el apéndice de esta práctica.

1. Patrones Descriptivos

1.1 Reglas de Asociación y Dependencias Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio “..\LabKDD\cesta”, en el fichero Basket1n tienes 1.000 cestas de la compra con los siguientes atributos:

cardid,value,pmethod,sex,homeown,income,age,

que significa el identificador de la tarjeta, el valor de la compra, el método de pago, el sexo del comprador, si es propietario de su casa, sus ingresos y su edad. Además se indica para cada cesta si ha comprado de estas categorías:

fruitveg,freshmeat,dairy,cannedveg,cannedmeat,frozenmeal, beer,wine,softdrink,fish,confectionery

Vamos a intentar determinar las posibles asociaciones entre categprçoas de productos.

Para ello, en primer lugar, vamos a tipar los datos, para que sólo las categorías anteriores sean los campos a utilizar (en ambas direcciones) mientras que el resto no se use (dirección “ninguna”), como se ve a continuación:

Page 3: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

3

Figura 1. Tipando los datos.

A continuación utiliza el nodo gráfico “Malla”, en el que activarás que sólo se muestren las marcas verdaderas (esto se hace porque todos los atributos de interés son booleanos y sólo es preciso mostrar las relacionas cuando se da el producto no cuando no se da, ya que así se simplifica mucho el gráfico):

Figura 2. Modificando el nodo “malla”.

También puedes cambiar los límites si quieres una vez ejecutado. En este caso sí que se ven asociaciones bastantes claras entre algunas categorías:

Page 4: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

4

Figura 3. Nodo “malla”.

A continuación, añade a la ruta un nodo modelo “A priori” y ejecútalo. Si lo copias a la zona de trabajo y lo editas verás algo similar a lo siguiente:

Figura 4. Reglas de asociación más relevantes generadas por Apriori.

El primer valor indicado es el soporte y el segundo la confianza. Podemos añadir pulsando en el % otros indicadores, como por ejemplo el número absoluto de ocurrencia. P.ej. para la última regla que significa “cuando se compra comida congelada y vegetales enlatados se suele comprar cerveza” se dice que es aplicable a 173 instancias (lo que supone un 18,4% de los datos) y que en éstas se cumple en 84.4% de las veces. De modo similar se pueden entender las otras reglas.

Una vez determinadas estas asociaciones (visto también el gráfico malla), queremos ver si hay algún determinado tipo de compras que determine el sexo del comprador (dependencia funcional).

Para ello vamos a utilizar un nodo GRI y otro nodo Tipo antes de él, indicando como atributos de entrada todas las categorías y como atributo de salida el sexo. El resto se dejarán con dirección ninguna. Al ejecutarlo genera un nodo que no se puede desplazar a la zona de trabajo, pero que sí que se puede examinar en la zona de modelos de la derecha. El resultado al pulsar “Examinar” sobre él debe ser similar al siguiente:

Page 5: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

5

Figura 5. Reglas de determinación para el sexo más relevantes generadas por GRI

La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 31. Se recomienda intentarlo al menos 5 minutos sin echar mano del mismo.

El problema de las reglas anteriores para el sexo es que sólo nos muestran las del sexo masculino, ya que toma ese valor como positivo. Si queremos que aparezcan reglas para los dos sexos, podemos hacerlo a la vez de la siguiente manera.

Añade un nodo TIPO igual que el anterior pero ahora pon que el atributo Sex sea de tipo Conjunto. A continuación, mediante un nodo “Marcas”, puedes generar dos atributos SexM y SexF que sean opuestos. En el nodo “Marcas” hay que seleccionar el campo “sex” y después pinchar en la flecha hacia a la derecha para generar los campos de marcas:

Figura 6. Usando el nodo “Marcas”.

Page 6: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

6

Una vez hecho esto pon un nodo Filtro y elimina el atributo Sex y vuelve a generar el modelo GRI utilizando los dos campos sex_F y sex_M como salida. También utiliza un nodo gráfico Malla para verlo gráficamente. Compara los resultados con el caso anterior.

La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 32. Las asociaciones resultantes se encuentran en la Figura 33 y el nodo Malla en la Figura 34. Graba la ruta.

EJERCICIOS PROPUESTOS:

Realiza un estudio similar en el que aparezcan a la parte izquierda de las reglas el campo de modo de pago (pmethod) para ver si hay reglas interesantes que relacionen los tipos de productos con el modo de pago.

1.2 Reglas de Asociación y Determinación (segundo ejemplo) Vamos a estudiar ahora los datos del hundimiento del Titanic. Los datos se encuentran en el directorio “..\LabKDD\titanic” y corresponden a las características de los 2.201 pasajeros del Titanic. Estos datos son reales y se han obtenido de: "Report on the Loss of the ‘Titanic’ (S.S.)" (1990), British Board of Trade Inquiry Report_ (reprint), Gloucester, UK: Allan Sutton Publishing.

Para este ejemplo sólo se van a considerar cuatro variables:

• Clase (0 = tripulación, 1 = primera, 2 = segunda, 3 = tercera) • Edad (1 = adulto, 0 = niño) • Sexo (1 = hombre, 0 = mujer) • Sobrevivió (1 = sí, 0 = no)

Ojo que los datos están separados por múltiples blancos.

Analiza los datos anteriores con matrices, estadísticas, modelos Apriori, gráficos “malla” normales y dirigidos. Después de eso particiona los datos por clases para ver si las distribuciones se mantienen.

CUESTIONES:

¿Se cumplió la norma de los niños y las mujeres primero? ¿O tuvo mayor peso la clase a la que pertenecía el pasajero? De los datos anteriores, ¿podemos saber si la tripulación se comportó heroicamente?

Después de intentarlo un rato o una vez que hayas respondido a las preguntas anteriores, tienes una ruta propuesta para esta actividad en el apéndice Figura 38. Algunos resultados así como la configuración de algún nodo se muestran en la Figura 35, la Figura 36 y la Figura 37.

1.3 Estudios de Correlación Ahora se trata de utilizar el nodo “estadísticos”, que permite realizar correlaciones entre atributos, además de otras estadísticas.

Retoma la ruta de los empleados, tras el proceso de limpieza que realizamos en la práctica 1. Estudia la correlación entre los distintos atributos numéricos de este problema (elimina de las correlaciones el #Ej, que, aunque numérico, es irrelevante).

CUESTIONES:

¿Encuentras alguna correlación significativa? ¿Complementa esta información la obtenida para este mismo problema en la práctica 1?

La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 39. Las correlaciones y cómo configurar el nodo se encuentran en la Figura 40 y Figura 41.

Page 7: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

7

1.4 Segmentación Vamos a trabajar con un nuevo problema. En el directorio “..\LabKDD\customer” tienes un fichero “customer.txt” con los 10.281 clientes de la empresa consultora “Tarot Consulting”.

Los atributos de los clientes son los siguientes: customer_id account_num lname fname address city state_province postal_code country customer_region_id phone marital_status gender total_children num_children_at_home education member_card age year_income expense

Que son autoexplicativos. Ahora vamos a intentar agrupar los clientes en grupos/clusters significativos, como ya vimos en otros ejemplos anteriores.

En primer lugar incorpora los datos en una nueva ruta. Ten cuidado, porque existen algunas comas dentro de alguna cadena de texto y deberás activar las opciones “Emparejar y descartar” para que no dé problemas al importar, como se ve en la siguiente figura:

Figura 7. Importando los datos de los clientes

Una vez ya tienes la fuente de datos, puedes verlos en una tabla y calcular alguna estadística o ver algún gráfico de alguno de los atributos.

Page 8: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

8

Ahora vamos a utilizar los nodos K-medias y Kohonen. En primer lugar tipa los datos y pon los datos irrelevantes a NINGUNA, tales como nombres, direcciones, teléfonos o el atributo “expense” que parece estar vacío. Ahora aplica un nodo K-medias con 3 clases.

Verás que el sistema te pregunta que hay algunos atributos con muchos valores.

Figura 8. Mensajes tras ejecutar el Kmedias

Además, vemos cómo esta operación ya ha requerido más memoria. De momento el Clementine ajusta la memoria necesaria conveniente (aunque el límite se puede modificar en Herramientas --> Opciones del Sistema).

La memoria que necesita, además de los clusters que aparecen (haciendo Examinar sobre el nodo generado), pueden sugerir que hay algunos otros atributos que les está dando mucha importancia por tener muchos valores (como state_province o customer_region_id). Para extraer patrones más inteligibles y significativos podríamos eliminar algunos (p.ej., city, state_province, postal_code, customer_region_id). Vuelve a añadir otro nodo TIPO a continuación y elimina (pon a NINGUNA) estos atributos.

Añade nodos Kmedias con 2, 3, 4 y 5 clusters, ejecútalos uno por uno y observa los resultados.

CUESTIONES:

¿Para qué número de clusters parece haber una agrupación más razonable? ¿Cómo interpretas la agrupación con 4 clusters?

Ahora vamos a añadir un nodo Kohonen en el que modificaremos el número de neuronas en horizontal y vertical a 7 y 5 respectivamente, como se ve en la siguiente figura.

Page 9: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

9

Figura 9. Cambio del número de nodos en Kohonen

Ejecútalo (puede tardar unos minutos y requerir bastante memoria). Una vez generado, añádelo a la zona de trabajo. El nodo Kohonen en realidad lo que hace es convertir el problema multidimensional a un problema bidimensional (de hecho genera dos campos X e Y). La manera de ver los clusters es que si hay 5 y 7 valores para los nuevos atributos X e Y, éstos se pueden interpretar como que existen 35 grupos (algunos vacíos). No obstante, la manera habitual de trabajar con el modelo Kohonen es representar un nodo Gráfico a continuación poniendo la X=$KX-Kohonen y la Y=$KY-Kohonen, con algún otro atributo en “Superponer” para distinguir zonas interesantes, como se muestra en la siguiente figura:

Figura 10. Seleccionando los campos a ver en el gráfico

Activa también la agitación, por ejemplo a 0.05, para que los puntos no se te apelmacen, como se muestra en la siguiente figura:

Page 10: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

10

Figura 11. Activando la perturbación

Haz algún gráfico tanto para “member_card”, “gender”, “education”, etc. para ver si encuentras zonas interesantes.

Ahora vamos a utilizar la salida del nodo Kohonen como entrada para un nuevo nodo Kmedias. Genera dos o tres para diferentes números de clusters. Ejecútalos y observa los agrupamientos que realizan.

CUESTIONES:

¿Crees que han mejorado gracias a los dos campos $KX-Kohonen y $KY-Kohonen?

Por último, vamos a intentar mejorar los modelos mediante la conversión de los datos “education” y ”member_card” a valores numéricos. Para ello añade nodos Derivar y crea un nuevo campo de tipo Conjunto, como se muestra en la siguiente figura para el nuevo atributo “EstudiosSet” a partir de “education”.

Figura 12. Derivando un nuevo campo

Ahora usa otro nodo derivar para convertirlos a numéricos, con el nombre de EstudiosN, mediante la expresión “to_real(EstudiosSet)”. Haz la misma operación con el atributo Card. Finalmente añade un nodo Tipo para usar los dos nuevos atributos e ignorar todos los intermedios y los originales, como se ve a continuación:

Page 11: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

11

Figura 13. Los campos que se usarán finalmente

A este último nodo añade nuevos nodos Kmedias con distintos valores de número de clusters.

CUESTIONES:

¿Se obtienen mejores grupos que los anteriores?

La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 42. Se recomienda intentarlo al menos 10 minutos sin echar mano del mismo.

2. Patrones Predictivos Vamos a analizar algunos problemas que requieren la extracción de patrones predictivos. De hecho, la mayoría de los problemas que se vieron en la primera práctica eran patrones predictivos. También son los más sencillos de entender y de analizar, ya que hay “una salida” a predecir.

2.1 Patrones Secuenciales. Regresión Vamos a abordar un problema de predicción secuencial. En el directorio “..\LabKDD\camara” tienes 2.422 datos de tomas sobre una cámara refrigeradora. Los atributos son:

Time,Power,Temperature,Pressure,Uptime,Status,Outcome

Que representan el tiempo, la potencia que requiere la máquina, la temperatura, la presión, un valor interno de funcionamiento, el estado y el tipo de tratamiento. La cámara soporta cuatro tipos de tratamiento (0, 101, 202, 303 y 404).

Se pretende predecir la potencia según el tiempo y el resto de las variables. Para ello se sugiere utilizar regresión y, si se desea, redes neuronales.

En primer lugar, si conectamos el nodo fuente y vemos la evolución de la potencia a lo largo del tiempo (mediante un gráfico) vemos que existen muchos casos diferenciados:

Page 12: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

12

Figura 14. Gráfico de la Potencia según Tiempo

En realidad, aparecen diferentes “series”. Vemos que la potencia no sólo depende del tiempo, aunque, aparentemente, si se fija “la serie”, aparecen curvas de tendencias casi lineales, con lo que, aparentemente, si se consiguiera separar correctamente los datos, puede ser que la regresión lineal a partir del tiempo únicamente funcione bien.

Se propone pensar en atacar el problema directamente con una red neuronal, o bien partir el problema según algún atributo, que permita a posteriori aplicar regresión lineal. En caso afirmativo compara los dos resultados. Para ello deberás combinar los resultados de la regresión lineal, aunque sea manualmente.

CUESTIONES:

¿facilita el Clementine la combinación de modelos para partes diferentes de los datos?

Si la cámara sólo permitiera reguladores lineales, ¿qué modelo deberías utilizar?

La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 43. Se recomienda intentarlo al menos 10 minutos antes de echar mano del mismo.

2.2 Clasificación De la tarea de clasificación aparecen el mayor número de problemas; vamos a realizar ejemplos utilizando varios métodos, en particular: árboles de decisión (C5.0, C&RT y otros) y redes neuronales, y con modificaciones de las distribuciones de los datos.

2.2.1 Varios modelos para el monks1 En el directorio “..\LabKDD\monks1” tienes tres ficheros: “monks1.data”, “monks1.names” y “monks1.test”. Se trata de un problema ficticio del repositorio UCI con cinco atributos discretos y una clase booleana (al tipar los atributos asegúrate que los coge como marca o como conjunto, especialmente la clase, el atributo 7, “field7”). El fichero “monks1.names” es una descripción del problema, el fichero “monk1.data” se utilizará como datos de entrenamiento y el fichero “monks1.test” como datos de test/validación.

Intenta obtener modelos predictivos para las clases utilizando los diferentes tipos de modelos de clasificación que dispone el Clementine. Compara los resultados.

La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 44. Se recomienda intentarlo al menos 10 minutos antes de echar mano del mismo.

Page 13: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

13

CUESTIONES:

¿Con qué modelo te quedarías si tuvieras que elegir uno?

¿Si tuvieras que hacer una predicción de un nuevo ejemplo, qué sería más conveniente?

a) Elegir el modelo con mayor precisión y usarlo para clasificar todos los ejemplos nuevos.

b) Usar todos los modelos y usar el que dé mayor fiabilidad para clasificar ese ejemplo.

c) Usar todos los modelos y ver qué clase se predice mayoritariamente, usando esa para hacer la predicción.

d) Usar todos los modelos y con las clases predichas, ponderando por su fiabilidad, obtener una clase resultante..

Si has respondido a la c) o a la d), pronto veremos cómo hacerlo.

2.2.2 Sobremuestreo para el problema del Post-operatorio En el directorio “..\LabKDD\Post-operative” tienes un fichero “post-operative.data” con los datos de 90 pacientes diferentes de un hospital tras una operación quirúrgica. Sus 9 atributos tienen el siguiente significado: 1. TEMPINT (temperatura interna): high (> 37), mid (>= 36 and <= 37), low (< 36) 2. TEMPEXT (temperatura externa): high (> 36.5), mid (>= 36.5 and <= 35), low (< 35) 3. O2SAT (saturación de oxígeno en %): excellent (>= 98), good (>= 90 and < 98), fair (>= 80 and < 90), poor (< 80) 4. PRESANG (presión sanguínea): high (> 130/90), mid (<= 130/90 and >= 90/70), low (< 90/70) 5. ESTTEMPEXT (estabilidad de la temperatura externa): stable, mod-stable, unstable 6. ESTTEMPINT (estabilidad de la temperatura interna) stable, mod-stable, unstable 7. ESTPRESANG (estabilidad de la presión sanguínea) stable, mod-stable, unstable 8. CONFORT (confort del paciente de cara al alta):

(medido como un entero entre 0 y 20) 9. DESTINO (decisión): I (paciente enviado a la UCI), S (paciente enviado a su casa), A (paciente enviado a una sala normal del hospital)

Incorpora los datos (ojo con los blancos antes y después de los valores). También ojo con el final de línea (posiblemente tengas que decirle que hay 9 campos justos, porque no te detecta bien el final de línea). Comprueba que has cargado bien los datos (que hay tres clases “I”, “S” y “A”!). Intenta generar un árbol de decisión (c5.0) para el caso anterior. Ya que son pocos datos, úsalos todos, porque luego haremos validación cruzada. Ignora, de momento, el atributo “Confort”, ya que tiene algunos datos faltantes. Te hará falta un nodo “filtro”, un nodo “tipo” y un nodo “C5.0”.

Ejecútalo.

CUESTIONES:

¿Qué observas?

¿Por qué sale un árbol tan simple?

La cuestión aquí es que si realizas un diagrama de distribución por clases verás que de las tres clases una (la clase “A”) copa más del 70% de los ejemplos.

Page 14: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

14

Figura 15. Distribución original.

El árbol de decisión, en su objetivo de minimizar el error, crea un árbol con sólo una rama, con el significado “Todos los ejemplos son de la clase A”. Aunque el error no llega al 30%, este árbol es completamente inútil, ya que no nos sirve para distinguir a dónde mandar los pacientes.

Añade un nodo “Análisis” y edítalo para que genere la “evaluación de rendimiento”, como se muestra en la siguiente figura.

Figura 16. Activando la evaluación de rendimiento.

Que si ejecutamos, tenemos lo esperado:

Figura 17. Un modelo con rendimiento 0.

Es decir, un modelo con rendimiento 0, es decir, inútil.

Page 15: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

15

La solución a este problema es equilibrar la proporción de ejemplos de las otras clases (S, I), en especial de la clase I, que sólo tiene dos ejemplos. El problema aquí es que tenemos tan pocos ejemplos (90) que no parece razonable aumentar la proporción de S y de I mediante el filtrado (submuestreo) de ejemplos de la clase A. En este caso lo que vamos a hacer es repetir ejemplos (sobremuestreo).

Para ello añade un nodo “Equilibrar” justo después del nodo “Tipo”. Si editas el nodo “Equilibrar” podrás especificar lo siguiente:

Figura 18. Sobremuestreando (balanceando) la fuente.

Como se puede observar se ha aumentado la proporción de casos con ‘I’ por 25. Además aumenta también la proporción de casos con ‘S’ por 2. Con esto tenemos las tres clases mucho mejor distribuidas: 64 de la clase A, 2x25 = 50 de la clase I y 24x2= 48 de la clase S, como se ve si añadimos otro nodo Distribución después del nodo Equilibrar.

Figura 19. Distribución después del sobremuestreo.

Genera ahora un nuevo árbol de decisión con estos datos sobremuestreados. Compara los resultados con el anterior (Ojo, al evaluar, siempre evalúa con la distribución original). La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 45. Se recomienda intentarlo al menos 10 minutos antes de echar mano de la misma.

CUESTIONES:

Varía los factores de sobremuestreo para obtener el mejor resultado. Intenta evaluar los resultados con validación cruzada (sopesándolos convenientemente después con el sobremuestreo realizado) y haciendo una partición de entrenamiento y comprobación.

¿Qué hemos aprendido de todo esto?

Page 16: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

16

3. Exportación de Modelos y Resultados Vamos a ver ahora cómo exportar los modelos y los resultados a diversos formatos (texto en plano, HTML, Excel, Informe, Base de datos, etc.).

En primer lugar vamos a exportar el modelo obtenido en el problema del postoperatorio. Edita el nodo diamante resultado del sobremuestreo y en Archivo -> Exportar Texto,

Figura 20. Exportando el modelo.

Verás que te ha exportado el modelo a un fichero con todas las ramas del árbol. Puedes probar lo mismo con Exportar HTML. Es más interesante el formato PMML, basado en XML. Esta exportación permite que el modelo sea utilizado por otros programas de minería de datos que soporten el formato PMML.

Ahora pasemos a exportar datos. La primera manera que vamos a ver es simplemente un nodo “Tabla”. En el modelo generado añade y engancha un nodo “Tabla”. Si editas este nodo puedes (de nuevo y como en muchos otros nodos) especificar a dónde vas a exportar el resultado (cuidado que las rutas relativas no son al directorio de trabajo, es mejor especificarlo absoluta). En este caso, vamos a exportarlo a HTML:

Figura 21. Utilizar un nodo Tabla para exportar los datos a HTML

Verás que genera un fichero .html y otro fichero de estilos “clementine.css”. Abre el fichero general con un navegador y puedes ver los resultados.

Ahora vamos a ver el nodo “Archivo plano”. De nuevo en el modelo generado añade y engancha un nodo “Archivo plano”. Si editas este nodo puedes especificar a dónde vas a exportar el resultado:

Page 17: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

17

Figura 22. Nodo Archivo Plano para exportar los datos

Si ejecutamos y le damos que sí, vemos que nos ha generado los datos en un fichero de texto como le habíamos indicado.

Ahora vamos a probar el nodo Excel. Engánchalo como los demás. Con las opciones por defecto es de suponer que crea un fichero XLS en un directorio temporal y arranca el EXCEL automáticamente. Esto a veces no funciona, con lo que edítalo para generarte el fichero (“con nombre de archivo especificado”), como se muestra a continuación:

Figura 23. Nodo Excel para exportar los datos

Ahora se puede volver a quejar si no ha podido arrancar el EXCEL, pero te ha generado el fichero que puedes abrir manualmente y ver en EXCEL (usa importar los datos, ya que el formato es .CSV y no directamente .XLS). Es un nodo bastante útil para postprocesar o para hacer gráficas.

Ahora probemos el nodo “Informe”. Aunque en realidad es mucho más limitado que lo que podríamos hacer desde el Excel o desde cualquier sistema de gestión de bases de datos (Access, Oracle, etc.), podemos hacer algún informe simple.

Por ejemplo, si añadimos este nodo “Informe” como los anteriores y lo editamos, podemos especificar cómo queremos el informe. Evidentemente hay que conocer un poco el lenguaje para poder generar los informes, pero con el generador de expresiones y algún ejemplo se pueden ir haciendo cosas interesantes. Por ejemplo, si tecleas el siguiente texto:

Page 18: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

18

Figura 24. Nodo Informe para generar un informe

Que si lo ejecutamos nos genera el siguiente informe:

Figura 25. Informe generado

El informe lo podemos exportar a su vez a un fichero de texto o a un fichero HTML.

Por último, vamos a ver cómo exportar a ODBC, lo que supone exportar a una base de datos. Supongamos que hemos creado una base de datos en blanco desde el MsAccess (tienes una en el directorio postoperative) y que hemos creado un Alias ODBC denominado “ENBLANCO” como sigue.

Figura 26. Creando origen ODBC

Si añadimos un nodo “Base de datos” y lo enganchamos como los demás, y lo editamos, podemos seleccionar que nos cree una nueva tabla en esta base de datos.

Page 19: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

19

Figura 27. Exportando a ODBC

Si ejecutamos, el resultado en la base de datos es el siguiente:

Figura 28. Tabla creada con los datos exportados a través de ODBC

La ruta propuesta para esta actividad se encuentra en el apéndice, Figura 46.

Finalmente, no hemos comentado que se pueden exportar los datos en caché. Para ello, en el nodo diamante (o en muchos otros) del modelo podemos activar la caché:

Page 20: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

20

Figura 29. Activando la caché

Si ejecutamos algún camino que pase por el nodo, podemos también guardar la caché, que guarda el estado de ese nodo en un fichero. Posteriormente podríamos cargar el estado de ese nodo desde el fichero. Cuando un nodo tiene activada la caché y tiene algo en ella, aparece una hojita en blanco o en verde respectivamente, como se ve a continuación:

Figura 30. Nodos con caché activada

La ventaja de utilizar nodos caché es que su tratamiento es muy rápido y es aconsejable con grandes volúmenes de datos (a diferencia de exportar en texto).

Page 21: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

21

APÉNDICE En este apéndice se muestran las rutas “solución” de los ejercicios de este boletín.

4. Soluciones

4.1 Problema de la Cesta de la Compra:

Figura 31. Ruta de la Cesta de la Compra.

Figura 32. Ruta de la Cesta de la Compra generando atributos derivados “Marcas” para el sexo.

Page 22: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

22

Figura 33. Asociaciones obtenidas con los dos nuevos campos derivados.

Figura 34. Malla obtenida con los dos nuevos campos derivados.

Page 23: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

23

4.2 Problema del Titanic

Figura 35. Leyendo datos separados por múltiples espacios (Hay que señalar “Espacio” y “Permitir múltiples delimitadores vacíos”). No hay que “leer nombres de campo del archivo”

Figura 36. Asociaciones entre los distintos atributos de forma gráfica.

Page 24: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

24

Figura 37. Reglas de Asociación con su soporte y confianza. Los valores obtenidos aquí aparecen tras modificar el nivel de soporte y de confianza y pueden variar para tu caso.

Figura 38. Ruta del Titanic.

Page 25: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

25

4.3 Problema de la Correlación de atributos de Empleados:

Figura 39. Ruta para estudiar la correlación de atributos de empleados.

Figura 40. Configuración del nodo “estadísticos”. Todos los campos y todos los estadísticos.

Page 26: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

26

Figura 41. Estadísticos y Correlaciones obtenidas.

Page 27: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

27

4.4 Problema de segmentación de clientes:

Figura 42. Segmentación del problema de los clientes.

4.5 Problema de la Cámara:

Figura 43. Ruta de la Cámara. Se observa la red neuronal sobre todos los datos arriba y la regresión partida por el campo “Outcome”.

Page 28: Práctica 3 de Minería de Datos - users.dsic.upv.esusers.dsic.upv.es/~jorallo/master/dm-prac3.pdf · Vamos a tratar ahora el típico caso de la cesta de la compra. En el directorio

28

4.6 Problema del Monks1:

Figura 44. Ruta del Monks1.

4.7 Problema del Postoperatorio (balanceo)

Figura 45. Ruta del postoperatorio.

4.8 Ejemplo de Exportación de Datos

Figura 46. Ruta de exportación de datos con el problema del postoperatorio.