You are on page 1of 18

Minera de Datos

Anlisis de Datos mediante WEKA


Julio Escribano Barreno (julio.escribano@alumnos.uc3m.es) Inteligencia en redes de Comunicaciones 5 Ingeniera de Telecomunicacin

ndice
1. Introduccin 2. Definiciones 3. Anlisis de los datos
3.1. Conjunto de datos nominales (vowel.arff) 3.1.1. Resultados con Decision Stump 3.1.2. Resultados con C4.5 3.1.3. Comparativa entre varios mtodos 3.2. Conjunto de datos numrico (housing.arff) 3.2.1. Resultados con Decision Stump 3.2.2. Resultados con M5 3.2.3. Comparativa entre varios mtodos 1 1 4 4 4 7 10 11 11 12 15 17

4. Referencias

Inteligencia en Redes de Comunicaciones

1. Introduccin
Un rbol de decisin es importante no porque resume lo que sabemos, sino porque esperamos que clasifique correctamente nuevos casos que podamos tener. As, cuando construimos modelos de clasificacin debemos tener datos de entrenamiento as como datos de test para saber cmo funciona realmente. El algoritmo ms bsico es el ID3 (que no utilizaremos), y las ideas bsicas son: En el rbol de decisin cada nodo corresponde con un atributo no-categrico y un arco con el valor posible de ese atributo. Una hoja del rbol especifica el valor esperado del atributo para los valores descritos en el camino desde el nodo inicial hasta la hoja. En el rbol de decisin cada nodo debe estar asociado al atributo no-categrico que da ms informacin acerca de los atributos que an no hayan sido considerados. Se utiliza la entropa para medir la informacin que tiene un nodo.

C.45 es una extensin de ID3 que tiene en cuenta valores no disponibles, rangos de valores continuos en los atributos, derivacin de reglas, etc. Utilizaremos varios algoritmos a lo largo de la prctica para conocer mejor el funcionamiento de los mismos, estudiando diferentes estrategias de entrenamiento utilizando los parmetros disponibles para cada uno. Finalmente analizaremos los resultados y sacaremos conclusiones acerca de los mismos.

2. Definiciones
Si hay n mensajes con la misma probabilidad de ocurrencia, entonces, la probabilidad p de cada uno es 1/n y la informacin proporcionada por un mensaje es
-log2(p) = log2(n)

Lo que significa que si hay 16 mensajes posibles, entonces log(16) = 4 y necesitamos 4 bits para identificar cada mensaje. En general, si tenemos una distribucin de probabilidades de P = (p1, p2,, pn) entonces, la informacin proporcionada por esa distribucin, llamada entropa de P, es
I(P)= - (p1*log(p1) + p2*log(p2) + + pn*log(pn))

Por ejemplo, si P es (0.5,0.5), entonces I(P) es 1, si P es (0.67,0.33), entonces I(P) es 0.92, si P es (1,0), entonces I(P)=0. Cuanto ms uniforme es la distribucin de la probabilidad, mayor es la informacin. Si un conjunto de T registros se divide en clases inconexas C1, C2,,Ck, entonces la informacin necesaria para evaluar la clase de un elemento de T es Info(T) = I(P), donde P es la distribucin de probabilidades de la particin (C1, C2,,Ck):
P = (|C1|/T, |C2|/T, , |Ck|/T)

Si primero dividimos T en la base de un valor no categrico X en conjuntos T1, T2,,Tn, entonces, la informacin que necesitamos para identificar la clase de un elemento de T es: n T i Info(X, T ) = Info(Ti ) i =1 T y se define la ganancia como Ganancia(X, T ) = Info(T ) Info(X, T ) Esto representa la diferencia entre la informacin que se necesita para identificar un elemento de T y la informacin necesitada para identificar un elemento de T despus Minera de Datos 1

Inteligencia en Redes de Comunicaciones de obtener el valor del atributo X, esto es, la ganancia en informacin debida al atributo X. Se puede utilizar esta nocin de ganancia para clasificar atributos y para construir rboles de decisin donde se localiza en cada nodo el atributo con mayor ganancia entre los atributos todava no considerados desde el nodo raz. Veremos que es lo que se utiliza en el algoritmo ID3. Matriz de confusin Tambin se llama tabla de contingencia. Es de tamao n*n, siendo n el nmero de clases. El nmero de instancias clasificadas correctamente es la suma de los nmeros en la diagonal de la matriz; los dems estn clasificados incorrectamente. True Positive (TP) Rate Es la proporcin de elementos que estn clasificados dentro de la clase x, de entre todos los elementos que realmente son de la clase x. Es la parte de la clase que ha sido capturada. En la matriz de confusin es el elemento diagonal dividido por la suma de todos los elementos de la fila. False Positive (FP) Rate La proporcin de ejemplos que han sido clasificados dentro de la clase x, pero pertenecen a una clase diferente. En la matriz de confusin es la suma de la columna de la clase x menos el elemento diagonal menos la suma de las filas del resto de las clases. Precisin Proporcin de ejemplos que realmente tienen clase x de entre todos los elementos que se han clasificado dentro de la clase x. En la matriz de confusin es el elemento diagonal dividido por la suma de la columna en la que estamos. Todas estas medidas son tiles para comparar clasificadores, y las utilizaremos nosotros. Algoritmo ID3 El algoritmo ID3 se utiliza para construir un rbol de decisin. El algoritmo es el siguiente:
Entradas: R: conjunto de atributos no-categricos C: El atributo categrico. S: Conjunto de datos de entrenamiento Salidas: rbol de decisin Begin Si S est vaco, devuelve un nico nodo con el valor Fallo Si S contiene todos los registros con el mismo valor para el atributo Categrico, devuelve un nico nodo con ese valor; Si R est vaco, devuelve un nico nodo cuyo valor es el ms frecuente de los valores del atributo categrico que haya encontrado en los registros de S; [fjese que entonces habr errores, esto es, registros que no estarn bien clasificados]; Se define D como el atributo con la mayor ganancia(D,S) de los atributos de R; Se define {dj| j=1,2,,m} los valores del atributo D; Se define {Sj| j=1,2,,m} los subconjuntos de S consistentes respectivamente en registros con valor dj para el atributo D; Devuelve un rbol cuya raz est etiquetada con D y los arcos

Minera de Datos

Inteligencia en Redes de Comunicaciones


etiquetados d1, d2, , dm que van respectivamente a los rboles que se crearn como ID3(R-{D},C,S1), ID3(R-{D},C,S2), , ID3(R{D},C,Sm) end

Algoritmo C4.5 C4.5 es una extensin del algoritmo ID3. Cuando se construye el rbol de decisin, se pueden tratar registros que tienen valores de atributos desconocidos, evaluando la ganancia o la relacin de ganancia de un atributo considerando slo los registros que tienen definidos ese atributo. Cuando vamos a utilizar el rbol de decisin, se pueden clasificar registros que tienen no definido el valor de algn atributo estimando la probabilidad de los posibles resultados.

Tambin se puede trabajar con atributos que tienen valores continuos. Sea un atributo Ci que tiene un rango de valores continuo. Examinamos los valores para este atributo en el conjunto de entrenamiento, que son, en orden creciente, A1, A2,,Am. Entonces, para cada valor Aj (J=1,2,m), dividimos los registros en los que tienen un valor de Ci hasta un Aj, y los que tiene valores mayores que Aj. Para cada una de estas divisiones calculamos la ganancia, o la relacin de ganancia, y escogemos la particin que maximiza la misma. Decisin Stump Es un rbol de decisin con una nica divisin (con una rama adicional para valores no definidos). Es muy efectivo para problemas con dos clases, y para ms clases no es fcil conseguir tasas de error menores que 0.5. Es muy simple, pero puede servir como base para comparar el modelo que queremos estudiar o implementar. El tiempo de clculo del Decisin Stump es proporcional al nmero de ejemplos de entrenamiento. Necesita memoria proporcional a
Nmero de clases * nmero de atributos * nmero de valores

Esto puede ser mucho en el caso de atributos con rango continuo de valores (en el peor caso habr un valor para cada instancia del atributo, aunque se puede utilizar el argumento maxThresholds para controlarlo.

Minera de Datos

Inteligencia en Redes de Comunicaciones

3. Anlisis de los datos


3.1. Conjunto de datos nominales (vowel.arff)
En este caso se trata de poder reconocer las vocales. Hay varios atributos en el fichero original (vowel.arff), que son los siguientes:
% % % % % % % % % % % % % % % % Column Description ------------------------------0 Train or Test 1 Speaker Number 2 Sex 3 Feature 0 4 Feature 1 5 Feature 2 6 Feature 3 7 Feature 4 8 Feature 5 9 Feature 6 10 Feature 7 11 Feature 8 12 Feature 9 13 Class

Para comprobar la eficiencia del mtodo se han utilizado distintos locutores para entrenamiento y prueba. As, utilizaremos las instancias con el primer atributo de valor Train para generar el modelo, y las que tengan el valor Test las utilizaremos para comprobar su eficiencia. Adems lo compararemos con el mtodo de cross-validacin, para ver cmo funciona realmente este mtodo. Para separar los datos de entrenamiento de los datos de prueba, utilizamos dos filtros: weka.filters.unsupervisied.instance.RemoveRange 529-last: Como las 528 primeras entradas del fichero son de entrenamiento y el resto de prueba, este filtro elimina de la 529 en adelante. As primero nos quedamos con las de entrenamiento. Luego haremos lo mismo con las de prueba. weka.filters.unsupervisied.attribute.Remove 1 2: As eliminamos el primer atributo (train/test), con lo que nuestro resultado ser ms eficiente, al tener un atributo menos que clasificar. Adems, eliminamos tambin el atributo que indica el locutor, ya que los locutores que se utilizan para el entrenamiento son distintos que los que se utilizan para la prueba.

Dejaremos el atributo hombre/mujer, porque suponemos que nos dar ms precisin a la hora de clasificar las vocales. Una vez aplicados los dos filtros en cada caso, almacenamos los resultados en los archivos vowel.train.arff y vowel.test.arff. 3.1.1. Resultados con Decision Stump Iremos comentando el archivo de salida que obtenemos: El Decision Stump no tiene propiedades editables. Lo primero que aparece es el algoritmo que se ha utilizado y un resumen del archivo con los datos que vamos a utilizar. Lo hemos incluido antes porque es el mismo para los dos anlisis:
Scheme: weka.classifiers.trees.DecisionStump Relation: vowel-weka.filters.unsupervised.instance.RemoveWithValues-S0.0-C1-L529last-weka.filters.unsupervised.attribute.Remove-R1weka.filters.unsupervised.attribute.Remove-R1 Instances: 528

Minera de Datos

Inteligencia en Redes de Comunicaciones


Attributes: 12 Sex Feature Feature Feature Feature Feature Feature Feature Feature Feature Feature Class

0 1 2 3 4 5 6 7 8 9

Aqu aparece el modelo de clasificacin. Recordemos que este modelo es un rbol de un nico nivel, as que en el nodo raz slo coge un atributo. El mejor que ha encontrado es el Feature-1.
Test mode: user supplied test set: 462 instances === Classifier model (full training set) === Decision Stump Classifications Feature 1 <= 1.09 : hEd Feature 1 > 1.09 : hYd Feature 1 is missing : hid Class distributions Feature 1 <= 1.09 hid hId hEd hAd hYd had hOd hod hUd hud hed 0.2625 0.2625 0.28125 0.04375 0.0 0.0125 0.01875 0.0 0.025 0.01875 0.075 Feature 1 > 1.09 hid hId hEd hAd hYd had hOd hod hUd hud hed 0.016304347826086956 0.016304347826086956 0.008152173913043478 0.11141304347826086 0.13043478260869565 0.125 0.12228260869565218 0.13043478260869565 0.11956521739130435 0.12228260869565218 0.09782608695652174 Feature 1 is missing hid hId hEd hAd hYd had hOd hod hUd hud hed 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 0.09090909090909091 Time taken to build model: 0.03 seconds

A continuacin aparece el error que tiene nuestro clasificador, segn el conjunto de datos de test que hemos introducido. Como preveamos, no es muy bueno, ya que slo clasifica bien un 12% de las instancias. Recordemos que en la parte terica de esta trabajo dijimos que era difcil encontrar una tasa de error menor que 0.5. Aqu tenemos un error absoluto relativo de un 87%, lo que no dice mucho a favor de este modelo. El estadstico kappa mide la coincidencia de la prediccin con la clase real (1.0 significa que ha habido coincidencia absoluta). Como vemos, este estadstico tiene un valor de 0.04.
=== Evaluation on test set === === Summary === Correctly Classified Instances Incorrectly Classified Instances Kappa statistic Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances 59 403 0.0405 0.1578 0.2821 95.4596 % 98.1234 % 462 12.7706 % 87.2294 %

Minera de Datos

Inteligencia en Redes de Comunicaciones Aqu vemos la precisin de nuestro modelo de forma ms detallada, especificando por clases:
=== Detailed Accuracy By Class === TP Rate 0 0 0.405 0 1 0 0 0 0 0 0 FP Rate 0 0 0.193 0 0.767 0 0 0 0 0 0 Precision 0 0 0.173 0 0.115 0 0 0 0 0 0 Recall 0 0 0.405 0 1 0 0 0 0 0 0 F-Measure 0 0 0.243 0 0.207 0 0 0 0 0 0 Class hid hId hEd hAd hYd had hOd hod hUd hud hed

La matriz de confusin, que nos indica cmo se han clasificado las distintas instancias:
a 0 0 0 0 0 0 0 0 0 0 0 b c 0 37 0 27 0 17 0 3 0 0 0 0 0 4 0 0 0 0 0 6 0 4 d 0 0 0 0 0 0 0 0 0 0 0 e 5 15 25 39 42 42 38 42 42 36 38 f 0 0 0 0 0 0 0 0 0 0 0 g 0 0 0 0 0 0 0 0 0 0 0 h 0 0 0 0 0 0 0 0 0 0 0 i 0 0 0 0 0 0 0 0 0 0 0 j 0 0 0 0 0 0 0 0 0 0 0 k 0 0 0 0 0 0 0 0 0 0 0 <-- classified as a = hid b = hId c = hEd d = hAd e = hYd f = had g = hOd h = hod i = hUd j = hud k = hed

=== Confusion Matrix === | | | | | | | | | | |

Si nos fijamos un poco en esta matriz podemos ver que slo reconocemos las vocales hEd y hYd, puesto que se trata de un rbol de un nico nivel. Ahora vamos a ver los resultados para el mtodo de cross-validacin que es el que se utiliza cuando no tenemos valores de prueba para nuestro clasificador. No reproducimos todo, slo los resultados acerca de los datos de test:
=== Stratified cross-validation === === Summary === Correctly Classified Instances Incorrectly Classified Instances Kappa statistic Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances === Detailed Accuracy By Class === TP Rate 0 0 0.938 0 0.792 0 0 0.167 0 0 0 FP Rate 0 0 0.24 0 0.538 0 0 0.133 0 0 0 Precision 0 0 0.281 0 0.128 0 0 0.111 0 0 0 Recall 0 0 0.938 0 0.792 0 0 0.167 0 0 0 F-Measure 0 0 0.433 0 0.221 0 0 0.133 0 0 0 Class hid hId hEd hAd hYd had hOd hod hUd hud hed 91 437 0.0896 0.1547 0.2783 93.62 % 96.8046 % 528 17.2348 % 82.7652 %

=== Confusion Matrix === a 0 0 b c 0 42 0 42 d 0 0 e 6 4 f 0 0 g 0 0 h 0 2 i 0 0 j 0 0 k <-- classified as 0 | a = hid 0 | b = hId

Minera de Datos

Inteligencia en Redes de Comunicaciones


0 0 0 0 0 0 0 0 0 0 45 0 7 0 0 0 2 0 3 0 0 0 4 0 3 0 12 0 0 0 0 0 0 0 0 0 3 32 38 36 35 40 37 36 29 0 0 0 0 0 0 0 0 0 0 0 0 9 0 10 0 10 0 10 0 8 0 7 0 9 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | | | | | | | | | c d e f g h i j k = = = = = = = = = hEd hAd hYd had hOd hod hUd hud hed

Aunque aqu s que reconocemos ms vocales, la eficiencia sigue siendo muy baja, con cerca de un 83% de errores en la clasificacin. El hecho de que los resultados sean similar pero un poco mejores puede indicar la imperfeccin que introduce el hecho de utilizar el mtodo de cross-validacin en vez de datos reales. 3.1.2. Resultados con C4.5
=== Run information === Scheme: weka.classifiers.trees.j48.J48 -C 0.25 -M 2

En este caso es un rbol de decisin. El nodo raz es el es el atributo Feature-1, que determina la primera decisin y coincide con el nodo raz del mtodo de Decision Stump. Los nmeros entre parntesis al final de cada hoja son el nmero de ejemplos en la hoja. Si una o ms hojas no son puras (no todos los elementos son de la misma clase), se da tambin el nmero de ejemplos no clasificado. Se utilizan nmeros decimales y no enteros por la forma en que el algoritmo trabaja con los valores no definidos. En el segundo nivel del rbol estn Feature-1 (otra vez), Feature-0, y as sucesivamente para los siguientes niveles. Weka tambin da la posibilidad de visualizar el rbol de decisin de forma grfica, pero no lo vamos a reproducir aqu porque al tener tantos atributos la pgina se queda pequea.
Test mode: user supplied test set: 462 instances === Classifier model (full training set) === J48 pruned tree -----------------Feature 1 <= 1.078 | Feature 1 <= 0.624 | | Feature 1 <= -0.137: hid (26.0) | | Feature 1 > -0.137 | | | Feature 0 <= -3.57: hid (15.0) | | | Feature 0 > -3.57 | | | | Feature 5 <= 0.955 | | | | | Feature 4 <= 0.56: hEd (12.0) | | | | | Feature 4 > 0.56: hId (9.0) | | | | Feature 5 > 0.955: hId (31.0/1.0) | Feature 1 > 0.624 | | Feature 8 <= 0.144 | | | Feature 3 <= 0.085 | | | | Feature 0 <= -2.205: hed (6.0) | | | | Feature 0 > -2.205: hAd (4.0) | | | Feature 3 > 0.085 | | | | Feature 3 <= 1.595 | | | | | Feature 6 <= 0.192: hEd (31.0) | | | | | Feature 6 > 0.192 | | | | | | Sex = Male: hEd (3.0/1.0) | | | | | | Sex = Female: hAd (4.0/1.0) | | | | Feature 3 > 1.595: hId (3.0) | | Feature 8 > 0.144 | | | Feature 0 <= -2.826 | | | | Feature 0 <= -3.389: hud (3.0) | | | | Feature 0 > -3.389 | | | | | Feature 0 <= -3.105: hUd (3.0)

Minera de Datos

Inteligencia en Redes de Comunicaciones


| | | | | Feature 0 > -3.105: hOd (3.0) | | | Feature 0 > -2.826: hed (7.0/1.0) Feature 1 > 1.078 | Feature 0 <= -3.145 | | Feature 7 <= 0.226 | | | Feature 2 <= 0.352 | | | | Feature 0 <= -4.125 | | | | | Feature 1 <= 2.131 | | | | | | Feature 5 <= 0.112: hEd (3.0) | | | | | | Feature 5 > 0.112: hed (3.0) | | | | | Feature 1 > 2.131 | | | | | | Feature 7 <= 0.085 | | | | | | | Feature 0 <= -4.261: hud (18.0) | | | | | | | Feature 0 > -4.261: hed (2.0) | | | | | | Feature 7 > 0.085 | | | | | | | Feature 6 <= 0.516: hUd (7.0) | | | | | | | Feature 6 > 0.516: hud (2.0) | | | | Feature 0 > -4.125 | | | | | Feature 1 <= 2.064: had (6.0/1.0) | | | | | Feature 1 > 2.064 | | | | | | Feature 1 <= 2.488: hYd (4.0) | | | | | | Feature 1 > 2.488: hOd (2.0) | | | Feature 2 > 0.352 | | | | Feature 0 <= -4.836: hid (6.0) | | | | Feature 0 > -4.836: hId (6.0) | | Feature 7 > 0.226 | | | Feature 1 <= 3.066 | | | | Feature 4 <= -1.12 | | | | | Feature 3 <= 1.108 | | | | | | Feature 3 <= 0.593: hUd (4.0/1.0) | | | | | | Feature 3 > 0.593: hOd (7.0) | | | | | Feature 3 > 1.108 | | | | | | Feature 2 <= -0.167: hOd (2.0/1.0) | | | | | | Feature 2 > -0.167: hod (12.0) | | | | Feature 4 > -1.12 | | | | | Feature 1 <= 1.222 | | | | | | Sex = Male: hud (2.0) | | | | | | Sex = Female: hAd (5.0) | | | | | Feature 1 > 1.222 | | | | | | Feature 0 <= -4.384: hud (11.0) | | | | | | Feature 0 > -4.384 | | | | | | | Feature 5 <= 0.304: hOd (8.0/1.0) | | | | | | | Feature 5 > 0.304 | | | | | | | | Feature 2 <= -1.313: hud (7.0/1.0) | | | | | | | | Feature 2 > -1.313 | | | | | | | | | Feature 2 <= 0.441 | | | | | | | | | | Feature 1 <= 2.711: hUd (25.0/1.0) | | | | | | | | | | Feature 1 > 2.711 | | | | | | | | | | | Feature 0 <= -4.036: hUd (4.0) | | | | | | | | | | | Feature 0 > -4.036: hOd (4.0) | | | | | | | | | Feature 2 > 0.441: hud (3.0) | | | Feature 1 > 3.066 | | | | Feature 0 <= -4.65: hud (3.0/1.0) | | | | Feature 0 > -4.65 | | | | | Feature 0 <= -3.689: hod (37.0/2.0) | | | | | Feature 0 > -3.689: hOd (5.0/1.0) | Feature 0 > -3.145 | | Feature 0 <= -2.52 | | | Feature 1 <= 2.027 | | | | Feature 7 <= -0.178 | | | | | Sex = Male: had (3.0) | | | | | Sex = Female | | | | | | Feature 1 <= 1.727: hAd (4.0) | | | | | | Feature 1 > 1.727: had (2.0) | | | | Feature 7 > -0.178 | | | | | Feature 9 <= 0.659 | | | | | | Feature 5 <= 0.028: hYd (3.0/1.0) | | | | | | Feature 5 > 0.028 | | | | | | | Sex = Male | | | | | | | | Feature 1 <= 1.832: hed (18.0) | | | | | | | | Feature 1 > 1.832: hYd (3.0) | | | | | | | Sex = Female | | | | | | | | Feature 6 <= 0.345 | | | | | | | | | Feature 4 <= -0.561: had (3.0) | | | | | | | | | Feature 4 > -0.561: hed (13.0/1.0) | | | | | | | | Feature 6 > 0.345: had (3.0) | | | | | Feature 9 > 0.659: hOd (3.0)

Minera de Datos

Inteligencia en Redes de Comunicaciones


| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feature 1 > 2.027 | | Feature 0 <= -3.012 | | | Feature 1 <= 2.447: had (3.0) | | | Feature 1 > 2.447: hOd (8.0) | | Feature 0 > -3.012 | | | Feature 7 <= 1.193 | | | | Feature 8 <= -1.004: had (2.0) | | | | Feature 8 > -1.004: hYd (30.0/1.0) | | | Feature 7 > 1.193: hOd (6.0) Feature 0 > -2.52 | Feature 4 <= -1.077: hYd (10.0/1.0) | Feature 4 > -1.077 | | Feature 2 <= -0.469 | | | Feature 7 <= 0.956 | | | | Feature 0 <= -2.415 | | | | | Feature 1 <= 1.43: hAd (2.0) | | | | | Feature 1 > 1.43: had (4.0) | | | | Feature 0 > -2.415: hAd (29.0) | | | Feature 7 > 0.956: had (3.0) | | Feature 2 > -0.469: had (18.0/2.0) : 63 125

Number of Leaves

Size of the tree :

Tamao del rbol = nmero de nodos del rbol. El rbol de decisin se evala muy rpidamente:
Time taken to build model: 0.16 seconds

Podemos ver que obtenemos resultados algo mejores que con el anterior clasificador, ya que hay un 39% de las instancias clasificadas correctamente y el estadstico kappa es 0.33. Esto era de esperar por todo lo que vimos en la parte de teora.
=== Evaluation on test set === === Summary === Correctly Classified Instances Incorrectly Classified Instances Kappa statistic Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances === Detailed Accuracy By Class === TP Rate 0.643 0.405 0.214 0.214 0.69 0.381 0.643 0.643 0.119 0.381 0 FP Rate 0.005 0.055 0.048 0.043 0.136 0.1 0.117 0.043 0.043 0.021 0.057 Precision 0.931 0.425 0.31 0.333 0.337 0.276 0.355 0.6 0.217 0.64 0 Recall 0.643 0.405 0.214 0.214 0.69 0.381 0.643 0.643 0.119 0.381 0 F-Measure 0.761 0.415 0.254 0.261 0.453 0.32 0.458 0.621 0.154 0.478 0 Class hid hId hEd hAd hYd had hOd hod hUd hud hed 182 280 0.3333 0.1108 0.3232 67.0389 % 112.4318 % 462 39.3939 % 60.6061 %

Tambin podemos ver en la matriz de confusin que hay muchos ms elementos en la diagonal que en el anterior caso, lo que indica que se han clasificado correctamente ms elementos.
=== Confusion Matrix === a b c d 27 12 3 0 0 17 13 0 0 5 9 13 0 0 0 9 e f 0 0 3 6 0 6 9 18 g 0 0 3 4 h 0 0 0 0 i 0 1 0 0 j 0 2 0 0 k 0 0 6 2 | | | | <-- classified as a = hid b = hId c = hEd d = hAd

Minera de Datos

Inteligencia en Redes de Comunicaciones


0 0 0 0 0 2 0 0 0 0 0 1 4 1 0 0 1 0 0 2 1 5 29 2 6 0 0 0 0 18 16 0 0 0 0 0 6 5 27 0 0 1 0 0 0 14 27 1 0 0 5 1 8 15 5 5 0 7 0 3 3 1 16 0 9 4 11 0 15 1 0 8 2 0 2 4 0 | | | | | | | e f g h i j k = = = = = = = hYd had hOd hod hUd hud hed

3.1.3. Comparativa entre varios mtodos Por lo tanto, para modelar este problema siempre ser mejor utilizar el segundo algoritmo al primero, aunque seguir sin ser suficiente para modelar nuestro problema. Hemos probado con otros clasificadores (no con todos), y los resultados que obtenemos son los siguientes (entre parntesis indicamos si hemos modificado algn parmetro que nos mejore el resultado): Mtodo Instancias bien clasificadas trees.DecisionStump 12.7706 % rules.DecisionTable 23.1602 % rules.OneR 28.1385 % rules.part.PART 38.5281 % trees.j48.J48 (unpruned=False) 39.3939 % trees.j48.J48 (unpruned=True) 40.6926 % bayes.NaiveBayes 46.1039 % lazy.IBk (no Normalization=False) 48.4848 % lazy.IBk (no Normalization=True) 54.7619 % Parece que habra que hacer ms refinada la bsqueda del mtodo a utilizar o buscar otros parmetros mejores. Quitando el atributo del Sexo, curiosamente obtenemos los mismos valores, pero en algunos casos mejoran el resultado ligeramente: Mtodo trees.DecisionStump rules.DecisionTable rules.OneR rules.part.PART trees.j48.J48 (unpruned=False) trees.j48.J48 (unpruned=True) bayes.NaiveBayes lazy.IBk (no Normalization=False) lazy.IBk (no Normalization=True) Instancias bien clasificadas 12.7706 % 23.1602 % 28.1385 % 41.7749 % 38.5281 % 39.8268 % 46.1039 % 56.2771 % 56.2771 %

3.2. Conjunto de datos numricos (housing.arff)


En esta caso analizaremos datos numricos, con el archivo housing.arff, que incluye informacin acerca del valor de la vivienda en barrios de Boston. El nombre de los atributos es el siguiente:
Relation: Instances: Attributes: housing 506 14 CRIM ZN INDUS CHAS

Minera de Datos

10

Inteligencia en Redes de Comunicaciones


NOX RM AGE DIS RAD TAX PTRATIO B LSTAT class

3.2.1. Resultados con Decision Stump Ahora el rbol de decisin es muy simple: Es un rbol de decisin de un nivel en el que el atributo elegido es RM:
=== Classifier model (full training set) === Decision Stump Classifications RM <= 6.941 : 19.933720930232564 RM > 6.941 : 37.23815789473678 RM is missing : 22.532806324110652

En este caso el error es mayor, ya que tenemos un error del 84%.


Time taken to build model: 0.01 seconds === Cross-validation === === Summary === Correlation coefficient Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances 0.5804 5.6124 7.5044 84.4331 % 81.6759 % 506

3.2.2. Resultados con M5 En este caso se ha generado primero un rbol de decisin, ya asociado a cada una de las hojas del mismo hay 19 modelos lineales. Para clasificar un valor, primero utilizamos el rbol de decisin, que nos llevar al modelo lineal correspondiente, de donde sacaremos el valor final. Las expresiones que aparecen en los modelos lineales sirven para sustituir los valores de los atributos correspondientes y as obtener el valor de la prediccin deseada.
== Classifier model (full training set) === M5 pruned model tree: (using smoothed predictions) LSTAT <= 9.725 : | RM <= 6.941 : | | DIS <= 3.325 : | | | RAD <= 7.5 : LM1 (23/53.169%) | | | RAD > 7.5 : | | | | CRIM <= 4.727 : LM2 (3/31.324%) | | | | CRIM > 4.727 : LM3 (4/0%) | | DIS > 3.325 : | | | RM <= 6.545 : LM4 (72/20.836%) | | | RM > 6.545 : | | | | LSTAT <= 4.915 : | | | | | PTRATIO <= 17.75 : LM5 (11/12.22%) | | | | | PTRATIO > 17.75 : LM6 (4/14.956%) | | | | LSTAT > 4.915 : | | | | | RM <= 6.611 : LM7 (7/12.839%) | | | | | RM > 6.611 : LM8 (18/20.153%) | RM > 6.941 : | | RM <= 7.437 : | | | AGE <= 76.95 : LM9 (29/31.464%) | | | AGE > 76.95 :

Minera de Datos

11

Inteligencia en Redes de Comunicaciones


| | | | B <= 394.7 : LM10 (8/56.187%) | | | | B > 394.7 : LM11 (3/9.054%) | | RM > 7.437 : LM12 (30/48.724%) LSTAT > 9.725 : | LSTAT <= 15 : LM13 (132/39.048%) | LSTAT > 15 : | | CRIM <= 5.769 : | | | CRIM <= 0.654 : | | | | DIS <= 1.906 : LM14 (10/22.692%) | | | | DIS > 1.906 : LM15 (36/36.717%) | | | CRIM > 0.654 : LM16 (37/31.47%) | | CRIM > 5.769 : | | | LSTAT <= 19.73 : LM17 (29/24.372%) | | | LSTAT > 19.73 : | | | | NOX <= 0.675 : LM18 (16/48.899%) | | | | NOX > 0.675 : LM19 (34/21.354%) LM num: 1 Linear Regression Model class = 7.5335 * CRIM + -0.7461 * INDUS + 5.0016 * RM + -3.494 LM num: 2 Linear Regression Model class = + 27.5333 LM num: 3 Linear Regression Model class = + 50 LM num: 4 Linear Regression Model class = 4.5295 -26.4372 6.0435 -0.0389 -0.4177 -0.0164 5.2821 * * * * * * CRIM + NOX + RM + AGE + DIS + TAX +

LM num: 5 Linear Regression Model class = -0.1237 * AGE + 0.2713 * B + -70.2259 LM num: 6 Linear Regression Model class = -28.0303 * CRIM + 30.0354 LM num: 7 Linear Regression Model class =

Minera de Datos

12

Inteligencia en Redes de Comunicaciones

-68.3616 * RM + 473.6934 LM num: 8 Linear Regression Model class = -0.0986 * AGE + -1.1417 * DIS + -0.4622 * PTRATIO + 46.27 LM num: 9 Linear Regression Model class = 0.1081 * B + -8.5281 LM num: 10 Linear Regression Model class = 2.6335 * CRIM + 33.3089 LM num: 11 Linear Regression Model class = + 24.1667

LM num: 12 Linear Regression Model class = -10.5429 1.1087 5.6467 -1.8862 28.4631 * * * * CRIM + INDUS + RM + PTRATIO +

LM num: 13 Linear Regression Model class = -0.124 1.9152 -0.0354 -0.7268 -0.4399 22.8122 * * * * * CRIM + RM + AGE + DIS + PTRATIO +

LM num: 14 Linear Regression Model class = 11.7456 * CRIM + 0.0993 * B + -26.7485 LM num: 15 Linear Regression Model class = + 19.5611

Minera de Datos

13

Inteligencia en Redes de Comunicaciones

LM num: 16 Linear Regression Model class = 0.1244 * RAD + 14.1304 LM num: 17 Linear Regression Model class = 3.889 * DIS + 0.008 * B + 3.6544 LM num: 18 Linear Regression Model class = -63.4932 * NOX + 54.9979 LM num: 19 Linear Regression Model class = -0.0552 -2.0031 6.4345 -0.2298 16.6312 * * * * CRIM + RM + DIS + LSTAT +

Number of Rules : 19 Time taken to build model: 1.34 seconds

Acerca de la eficiencia de este modelo con respecto al de Decision Stump hay que decir que este es mucho ms eficiente, ya que consigue un error del 37%, frente al 84% del primero.
=== Cross-validation === === Summary === Correlation coefficient Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances 0.9131 2.5053 3.7506 37.6897 % 40.8204 % 506

Si modificamos la opcin de Weka que construye un rbol de regresin en vez del rbol de decisin obtenemos una eficiencia menor, ya que adems de aumentar el error, el rbol es mayor (26 hojas frente a las 25 anteriores). Slo reproducimos aqu los datos referentes a la eficiencia, por comodidad:
Number of Rules : 26 Time taken to build model: 0.86 seconds === Cross-validation === === Summary === Correlation coefficient Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances 0.8627 3.2864 4.8185 49.4398 % 52.443 % 506

Minera de Datos

14

Inteligencia en Redes de Comunicaciones

Si ponemos la opcin Unpruned=True, obtenemos un modelo con error ligeramente menor, pero con un mayor nmero de modelos lineales:
Number of Rules : 193 Time taken to build model: 0.72 seconds === Cross-validation === === Summary === Correlation coefficient Mean absolute error Root mean squared error Relative absolute error Root relative squared error Total Number of Instances 0.9149 2.3831 3.7099 35.8505 % 40.3777 % 506

3.2.3. Comparativa entre varios mtodos El resumen de los resultados obtenidos es el siguiente: Mtodo trees.DecissionStump trees.m5.M5P (build regresin tree = False) trees.m5.M5P (build regresin tree = True) trees.m5.M5P (Unpruned=True)

Relative Absolute Error 84.4331 % 37.6897 % 49.4398 % 35.8505 %

Minera de Datos

15

Inteligencia en Redes de Comunicaciones

4. Referencias
http://www.cis.temple.edu/ingargio Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, Witten, Frank, 2000. http://www.cs.washington.edu/dm/vfml/modules.html http://www.personal.psu.edu/users/a/j/ajb288/Meteo473/Milestone4/MS4definiti ons.html

Minera de Datos

16

You might also like