Tarea 2 Investigación de Operaciones II Víctor A. Peña y Lillo Zumelzu vpena@alumnos.inf.utfsm.cl Departamento de Informática Universidad Técnica Federico Santa María Valparaíso, Chile 29 de mayo de 2006 Resumen En la presente tarea se analiza un conjunto de datos, para en base a ellos realizar árboles de decisión. Para hacer los árboles de decisión utilizan dos programas: CART y See5, para luego realizar una comparación de los dos programas ya que se sabe que trabajan de forma distinta y ofrecen diferentes resultados. 1. Introducción Los árboles de clasificación (también llamados de decisión o de identificación) son uno de los métodos de aprendizaje inductivo supervisado no paramétrico más utilizado. Como forma de representación del conocimiento, los árboles de clasificación destacan por su sencillez. Su dominio de aplicación no está restringido a un ámbito concreto sino que pueden utilizarse en diversas áreas: diagnóstico médico, juegos, predicción meteorológica, control de calidad, etc. Un árbol de clasificación es una forma de representar el conocimiento obtenido en el proceso de aprendizaje inductivo. Puede verse como la estructura resultante de la partición recursiva del espacio de representación a partir del conjunto (numeroso) de prototipos. Esta partición recursiva se traduce en una organización jerárquica del espacio de representación que puede modelarse mediante una estructura de tipo árbol. Cada nodo interior contiene una pregunta sobre un atributo concreto (con un hijo por cada posible respuesta) y cada nodo hoja se refiere a una decisión (clasificación). La clasificación de patrones se realiza en base a una serie de preguntas sobre los valores de sus atributos, empezado por el nodo raíz y siguiendo el camino determinado por las respuestas a las preguntas de los nodos internos, hasta llegar a un nodo hoja. La etiqueta asignada a esta hoja es la que se asignará al patrón a clasificar.
2. Definición del problema El problema elegido para resolver mediante árboles de decisión fue el de averiguar si un hongo es venenoso o comestible, utilizando instancias ya conocidas. El conjunto de datos utilizado corresponde a 23 especies de hongos de las familias Agaricus y Lepiota. Cada especie se identifica como definitivamente comestible, definitivamente venenoso, o de comestibilidad desconocida y no recomendado. Esta última clase se combinó con las de los venenosos. Se procesaron 8124 instancias, cada una con 22 atributos, detallados a continuación: 1. Forma de la copa. 2. Superficie de la copa. 3. Color de la copa. 4. Presencia de manchas o moretones. 5. Olor. 6. Posicionamiento de la membrana. 7. Espaciado de la membrana. 8. Tamaño de la membrana. 9. Color de la membrana. 10. Forma del tallo. 11. Forma de la raíz. 12. Superficie sobre el anillo. 13. Superficie bajo el anillo. 14. Color sobre el anillo. 15. Color bajo el anillo. 16. Tipo de velo. 17. Color del velo. 18. Número de anillos. 19. Tipo de anillos. 20. Color de las esporas. 21. Distribución de la población. 22. Hábitat. Aquí se encuentra la descripción de cada variable y los valores que puede tomar, tal como se utilizó en los programas: Nombre de la variable Valores Clase class edible=e, poisonous=p 1 cap-shape bell=b,conical=c,convex=x,flat=f, knobbed=k,sunken=s 2 cap-surface fibrous=f,grooves=g,scaly=y,smooth=s 3 cap-color brown=n,buff=b,cinnamon=c,gray=g,green=r, pink=p,purple=u,red=e,white=w,yellow=y 4 bruises bruises=t,no=f 5 odor almond=a,anise=l,creosote=c,fishy=y,foul=f, musty=m,none=n,pungent=p,spicy=s 6 gill-attachment attached=a,descending=d,free=f,notched=n 7 gill-spacing close=c,crowded=w,distant=d 8 gill-size broad=b,narrow=n 2
9 gill-color black=k,brown=n,buff=b,chocolate=h,gray=g, green=r,orange=o,pink=p,purple=u,red=e, white=w,yellow=y 10 stalk-shape enlarging=e,tapering=t 11 stalk-root bulbous=b,club=c,cup=u,equal=e, rhizomorphs=z,rooted=r,missing=? 12 stalk-surface-above-ring ibrous=f,scaly=y,silky=k,smooth=s 13 stalk-surface-below-ring ibrous=f,scaly=y,silky=k,smooth=s 14 stalk-color-above-ring brown=n,buff=b,cinnamon=c,gray=g,orange=o, pink=p,red=e,white=w,yellow=y 15 stalk-color-below-ring brown=n,buff=b,cinnamon=c,gray=g,orange=o, pink=p,red=e,white=w,yellow=y 16 veil-type partial=p,universal=u 17 veil-color brown=n,orange=o,white=w,yellow=y 18 ring-number none=n,one=o,two=t 19. ring-type cobwebby=c,evanescent=e,flaring=f,large=l, none=n,pendant=p,sheathing=s,zone=z 20 spore-print-color black=k,brown=n,buff=b,chocolate=h,green=r, orange=o,purple=u,white=w,yellow=y 21 population abundant=a,clustered=c,numerous=n, scattered=s,several=v,solitary=y 22 habitat grasses=g,leaves=l,meadows=m,paths=p, urban=u,waste=w,woods=d 2.1. CART 2.2. See5 Se analizó la muestra en dos situaciones distintas. La primera situación consistió en construir el árbol de clasificación con la totalidad de los datos, mientras que en la segunda situación se utilizó un porcentaje (25%, 50% y 75%) de los datos para efectuar los tests que midieron la capacidad de clasificación del árbol. 2.2.1 Construcción del árbol See5 arrojó los siguientes resultados para el conjunto completo de datos: Decision tree: odor = a: e (400) odor = l: e (400) odor = c: p (192) odor = y: p (576) odor = f: p (2160) odor = m: p (36) 3
odor = p: p (256) odor = s: p (576) odor = n: :...spore-print-color = u: e (0) spore-print-color = k: e (1296) spore-print-color = n: e (1344) spore-print-color = b: e (48) spore-print-color = h: e (48) spore-print-color = r: p (72) spore-print-color = o: e (48) spore-print-color = y: e (48) spore-print-color = w: :...veil-color in {n,o}: e (0) veil-color = y: p (8) veil-color = w: :...gill-size = b: e (528) gill-size = n: :...gill-spacing = d: e (0) gill-spacing = c: p (32) gill-spacing = w: :...bruises = t: p (8) bruises = f: e (48) Evaluation on training data (8124 cases): 4208 (a): class e 3916 (b): class p Time: 0.2 secs 4
2.2.2 Testing Muestra del 25% de los datos: Evaluation on training data (2031 cases): 21 0( 0.0%) << 1060 (a): class e 971 (b): class p Evaluation on test data (2031 cases): 21 0( 0.0%) << 1038 (a): class e 993 (b): class p Muestra del 50% de los datos: Evaluation on training data (4062 cases): 2137 (a): class e 1925 (b): class p 5
Evaluation on test data (4062 cases): 2071 (a): class e 1991 (b): class p Muestra del 75% de los datos: Evaluation on training data (6093 cases): 3192 (a): class e 2901 (b): class p Evaluation on test data (2031 cases): 1016 (a): class e 1015 (b): class p 6
3. Análisis 3.1 CART 3.2 See5 Del total de instancias, 4208 individuos pertenecen a la clase e (comestibles), mientras que 3916 pertenecen a la clase p (venenosos). Puede apreciarse que el número de nodos terminales u hojas ronda entre los 20 y 21. El error es de 0%, lo que nos indica que todos los casos pudieron ser clasificados. 3. Conclusiones Los resultados que se han obtenido en este trabajo muestran la capacidad del software See5 para responder de manera eficiente al problema de la comestibilidad de un hongo, siendo una alternativa muy fiable a las técnicas estadísticas convencionales. Esta metodología acepta variables tanto de tipo cuantitativo como cualitativo, sin ninguna clase de limitación, así como la existencia de valores perdidos. Su carácter estrictamente no paramétrico le confiere una clara superioridad frente a las técnicas estadísticas en el sentido de que se adecúa más a la información contable, que suele presentar datos interrelacionados, incompletos, adulterados o erróneos; proporciona modelos muy sencillos entendibles fácilmente por el analista humano, ya sea en forma de árboles o reglas de decisión, realizando una clasificación de las empresas entre solventes e insolventes que permite determinar la importancia de cada variable en el proceso de asignación. Además, da buenos resultados incluso cuando se trabaja con escaso número de datos. La técnica CART es superada fuertemente por C4.5, gracias a la inclusión de nuevas características como la partición por características específicas y puntuación de reglas de clasificación. C4.5 provee árboles de clasificación considerablemente pequeños con respecto a CART y a su vez con una mayor fortaleza, en resumen se ven favorecida la simplicidad y una mejora en la eficiencia. El tamaño de la data de aprendizaje es sumamente importante. Una data de aprendizaje pequeña puede provocar la creación de un árbol de clasificación que no considere instancias de individuos poco comunes o con características que lo diferencian de la población. Este hecho se vio reflejado en la experimentación efectuada con el algoritmo CART, en la que una menor data de aprendizaje provocó más errores de clasificación en los datos prueba. 4. Referencias UCI Machine Learning Repository. http://www.ics.uci.edu/~mlearn/mlrepository.html Bilkent University Function Approximation Repository. http://funapp.cs.bilkent.edu.tr/datasets/ 7