Introducción a árboles yselección de atributos usando           WEKA                           Blanca A. Vargas Govea     ...
Contenido                          El origen  1     Introducción                          Interfaces  2     Clasificadores...
Introducción               3
¿Qué es WEKA?                4
¿Qué es WEKA?  W aikato  E nvironment for  K nowledge  A nalysis                Plataforma de prueba para                a...
NuevaZelanda    6
Origen         ●   Inicio del proyecto – Universidad de Waikato. 1993    ●   Primer versión en C y TCL/TK.         ●   Alg...
¿Qué se puede hacer con WEKA? Pre-proceso de datos:       Soporte de distintos formatos,       conectividad a base de dato...
¿Qué se puede hacer con WEKA? Selección de atributos:       Diversos criterios de selección y métodos       de búsqueda. V...
¿Cómo puede usarse? ●   Aplicar un método de aprendizaje a un conjunto     de datos y analizar la salida para aprender más...
¿Cómo puede usarse? ●   Aplicar diferentes técnicas y comparar su     desempeño para elegir uno. ●   Preprocesamiento y se...
Interfaces             Exploración de datos,             filtrado, clasificación,             clustering y visualización. ...
Explorer: preprocess                       13
Clasificadores: Árboles                          14
ClasificadoresAlgoritmo/Sistema que asigna un valor de clasea una instancia compuesta por ciertos atributos ocaracterístic...
Clasificadores                 16
Tabla de outlook                   17
Árboles                         outlook             sunny                          rainy                                ov...
Árboles1.En la interfaz de preproceso abrir el archivo  outlook.csv. Revisar que las variables sean las  correctas.2.En cl...
Árboles          ¿Cómo se construyó el árbol?                                         20
ÁrbolesEnfoque: divide y vencerás/top-down                                   (J. Ross Quinlan)                            ...
Árboles¿Cómo determinar qué atributo divide mejor alárbol? El mejor nodo es aquél en el que sus hojas hay solamente una cl...
Árboles: ganancia de informaciónBuscamos un atributo que nos de la mayorganancia de información para tomar unadecisión.Gan...
Árboles: entropíaEntropía. Información necesaria para clasificar unejemplo. Se asocia a la pureza/impureza de unavariable....
Árboles: buscando el mejor nodo Para outlook: [yes,no] sunny: [2,3],overcast: [4,0], rainy: [3,2] p(outlook = sunny y yes)...
Árboles: buscando el mejor nodo  p(outlook = rainy y yes) =3/5  p(outlook = rainy y no) = 2/5 info(rainy) = -3/5 log2(3/5)...
Árboles: buscando el mejor nodo ya que conozco outlook, ¿cuánta información gané? ganancia(outlook) = info(play) -info(pla...
Árboles: buscando el mejor nodo ganancia(outlook) = 0.247 bits ganancia(temperature) = 0.029 bits ganancia(humidity) = 0.1...
Árboles: buscando el mejor nodo                         outlook             sunny                            rainy        ...
Práctica1.Con los datos del archivo rtoy.html, construye un archivo de tipo  CSV.2.Construye los sub-árboles para cada atr...
Selección de atributos                         31
¿Por qué selección de atributos?                             Calidad de los datos –                              éxito al...
¿Por qué selección de atributos?                               Problemas aún con                                algoritmo...
¿Por qué selección de atributos?                            Técnica muy usada - 1970                            Elimina ...
Beneficios    ¡Qué bueno que saqué      Mejora del desempeño      todo lo que había        predictivo    guardado en el a...
Selección de atributos: objetivo    Seleccionar el sub-conjunto más pequeño de    atributos tal que no se afecte significa...
Selección de atributos: cuatro pasos Conjunto original   Generación de               Evaluación de            sub-conjunto...
1. Generación de sub-conjuntos: búsquedaCada estado en el espacio define un sub-conjunto candidato.                       ...
1. Generación de sub-conjuntos: búsqueda Búsqueda exhaustiva - impráctica Búsqueda greedy haciendo un cambio en cada estad...
40
2. Evaluación de sub-conjuntos Cada candidato es evaluado y comparado     con el mejor de acuerdo a cierto criterio de eva...
Filtros: rankeoMedidas de distancia, de información. Ejemplos: Ganancia de información. Basado en instancias. Se muestrea ...
Filtros: sub-conjuntosMedidas de dependencia y de consistencia. Ejemplos:                                        Correlaci...
44
45
3. Criterio de paro Determina cuándo el proceso de selección debe parar.         No hay mejora         Límite:         al ...
4. Validación de resultados            Probar con los datos/algoritmos            de la aplicación de tu interés          ...
Actividades 1 Aplica la selección de atributos usando CfsSubsetEval. Datos: car, adult y mushroom  1. Selecciona atributos...
Actividades 2Aplica la selección de atributos usando WrapperSubsetEvalDatos:  1.Selecciona atributos con WrapperSubsetEval...
Referencias[Bouckaert et al., 2010] Bouckaert, R. R., Frank, E., Hall, M. A., Holmes, G.,    Pfahringer, B., Reutemann, P....
Referencias[Hall and Holmes, 2003] Hall, M. A. and Holmes, G. (2003). Benchmarking attribute    selection techniques for d...
Imágenes Mapa Nueva Zelanda http://www.flickr.com/photos/duncan/478984969/in/photostream/ Wekas http://www.flickr.com/phot...
Upcoming SlideShare
Loading in...5
×

Taller weka

4,286

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,286
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
155
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Taller weka

  1. 1. Introducción a árboles yselección de atributos usando WEKA Blanca A. Vargas Govea blanca.vargas@cenidet.edu.mx Grupo de Sistemas de Recomendación cenidet Marzo 29, 2012
  2. 2. Contenido El origen 1 Introducción Interfaces 2 Clasificadores: árboles 3 Selección de atributos 2
  3. 3. Introducción 3
  4. 4. ¿Qué es WEKA? 4
  5. 5. ¿Qué es WEKA? W aikato E nvironment for K nowledge A nalysis Plataforma de prueba para aprendizaje automático 5
  6. 6. NuevaZelanda 6
  7. 7. Origen ● Inicio del proyecto – Universidad de Waikato. 1993 ● Primer versión en C y TCL/TK. ● Algoritmos de distintas fuentes. ● Reimplementación en Java. 1997 ● Cambio de nombre a JAWS (Java WEKA System). 1998 ● Incluía clasificadores, reglas de asociación, filtros y evaluación. ● Se le agregó selección de atributos. 1999 ● Se le regresó el nombre WEKA. 7
  8. 8. ¿Qué se puede hacer con WEKA? Pre-proceso de datos: Soporte de distintos formatos, conectividad a base de datos y filtrado. Clasificación: Más de 100 métodos. Clustering: K-means, jerárquicos. 8
  9. 9. ¿Qué se puede hacer con WEKA? Selección de atributos: Diversos criterios de selección y métodos de búsqueda. Visualización: Gráficas de atributos con respecto a la clase y a otros atributos. Visualización: Árboles, redes bayesianas y dendogramas para clustering jerárquico. 9
  10. 10. ¿Cómo puede usarse? ● Aplicar un método de aprendizaje a un conjunto de datos y analizar la salida para aprender más sobre los datos. ● Usar métodos aprendidos para generar predicciones sobre nuevas instancias. 10
  11. 11. ¿Cómo puede usarse? ● Aplicar diferentes técnicas y comparar su desempeño para elegir uno. ● Preprocesamiento y selección de atributos: transformación de atributos continuos a nominales, eliminación de atributos irrelevantes o redundantes. 11
  12. 12. Interfaces Exploración de datos, filtrado, clasificación, clustering y visualización. Experimentos que involucren clasificación y regresión. Permite comparación de desempeño. Exploración, procesamiento y visualización. El usuario determina los pasos y 12 puede repetirse.
  13. 13. Explorer: preprocess 13
  14. 14. Clasificadores: Árboles 14
  15. 15. ClasificadoresAlgoritmo/Sistema que asigna un valor de clasea una instancia compuesta por ciertos atributos ocaracterísticas. Color Tamaño Forma Clase rojo mediano redonda manzana verde chico redonda limón amarillo mediano alargada plátano 15
  16. 16. Clasificadores 16
  17. 17. Tabla de outlook 17
  18. 18. Árboles outlook sunny rainy overcast humidity yes windy high normal true false no yes no yes 18
  19. 19. Árboles1.En la interfaz de preproceso abrir el archivo outlook.csv. Revisar que las variables sean las correctas.2.En classifier seleccionar trees y J48.3.Seleccionar Use training set.4.Verificar que como clase, esté play.5.Oprimir Start para obtener el árbol. 19
  20. 20. Árboles ¿Cómo se construyó el árbol? 20
  21. 21. ÁrbolesEnfoque: divide y vencerás/top-down (J. Ross Quinlan) tempera- outlook sunny ture rainy hot overcast cool mild no yes yes yes yes no yes yes no yes yes no no yes no no yes yes no yes yes yes no yes yes yes no yes 21
  22. 22. Árboles¿Cómo determinar qué atributo divide mejor alárbol? El mejor nodo es aquél en el que sus hojas hay solamente una clase. 22
  23. 23. Árboles: ganancia de informaciónBuscamos un atributo que nos de la mayorganancia de información para tomar unadecisión.Ganancia de información. Probabilidad de queun ejemplo del conjunto pertenezca a ciertaclase. 23
  24. 24. Árboles: entropíaEntropía. Información necesaria para clasificar unejemplo. Se asocia a la pureza/impureza de unavariable.En un conjunto con alta entropía es más difícilpredecir el valor de clase. m Entropía(S )=∑ p j log 2 p j j=1 24
  25. 25. Árboles: buscando el mejor nodo Para outlook: [yes,no] sunny: [2,3],overcast: [4,0], rainy: [3,2] p(outlook = sunny y yes) = 2/5 p(outlook = sunny y no) = 3/5 info(sunny) = -2/5 log2(2/5) – 3/5 log2(3/5) = 0.971 bits p(outlook = overcast y yes) = 4/4 p(outlook = sunny y no) = 0/4 info(overcast) = -4/4 log2(4/4) – 0 log2(0) = 0 bits 25
  26. 26. Árboles: buscando el mejor nodo p(outlook = rainy y yes) =3/5 p(outlook = rainy y no) = 2/5 info(rainy) = -3/5 log2(3/5) – 2/5 log2(2/5) = 0.971 bits Se calcula el promedio del valor de información tomando en cuenta el no. de instancias de cada rama: p(rainy) = 5/14, p(overcast) = 4/14, p(sunny) = 5/14info(play|outlook) = 5/14 (0.971) + 4/14(0) + 5/14(0.971) = 0.693 bits 26
  27. 27. Árboles: buscando el mejor nodo ya que conozco outlook, ¿cuánta información gané? ganancia(outlook) = info(play) -info(play|outlook) p(play = yes) = 9/14 p(play = no) = 5/14 ganancia(outlook) = 0.940 bits - 0.693 bits = 0.247 bits Necesito 0.247 bits menos si conozco outlook Así, se calcula la ganancia de información para cada atributo y se selecciona el de mayor valor. 27
  28. 28. Árboles: buscando el mejor nodo ganancia(outlook) = 0.247 bits ganancia(temperature) = 0.029 bits ganancia(humidity) = 0.152 bits ganancia(windy) = 0.048 bits Se continúa recursivamente ahora con outlook como nodo raíz. Idealmente el proceso termina cuando todos los nodos son puros. 28
  29. 29. Árboles: buscando el mejor nodo outlook sunny rainy overcast humidity yes windy high normal 4 true false no yes no yes 3 2 2 4 29
  30. 30. Práctica1.Con los datos del archivo rtoy.html, construye un archivo de tipo CSV.2.Construye los sub-árboles para cada atributo.3.Con base en 2, ¿cuál crees que sería el mejor atributo?4.Obtén la ganancia de información para el atributo que crees sería el mejor.5. Obtén el árbol en WEKA e interpreta los resultados del árbol. ¿Fué el mejor atributo el que tu creíste? ¿qué indica en términos del usuario el árbol obtenido? 30
  31. 31. Selección de atributos 31
  32. 32. ¿Por qué selección de atributos?  Calidad de los datos – éxito algoritmos.  Problemas: información irrelevante, ruidosa.  Procesos lentos debido exceso de información poco significativa. 32
  33. 33. ¿Por qué selección de atributos?  Problemas aún con algoritmos como C4.5.  Selección manual: profundo conocimiento del problema y los atributos. 33
  34. 34. ¿Por qué selección de atributos?  Técnica muy usada - 1970  Elimina datos redundantes, irrelevantes, ruidosos.  Reconocimiento de patrones, aprendizaje automático, Selección de minería de datos. atributos  Categorización de textos, recuperación de imágenes, detección de intrusos y análisis del genoma. 34
  35. 35. Beneficios ¡Qué bueno que saqué  Mejora del desempeño todo lo que había predictivo guardado en el auto!  Reducción del tiempo de entrenamiento/proceso  Reducción de las necesidades de almacenamiento  Visualización y comprensión de los datos 35
  36. 36. Selección de atributos: objetivo Seleccionar el sub-conjunto más pequeño de atributos tal que no se afecte significativamente el porcentaje de clasificación y que la distribución resultante sea lo más parecida a la original. 36
  37. 37. Selección de atributos: cuatro pasos Conjunto original Generación de Evaluación de sub-conjuntos sub-conjuntos Sub- conjunto Medida de bondad del sub-conjunto Criterio Si Validación No de de paro resultados 37
  38. 38. 1. Generación de sub-conjuntos: búsquedaCada estado en el espacio define un sub-conjunto candidato. 38 Dirección de la búsqueda: forward y backward
  39. 39. 1. Generación de sub-conjuntos: búsqueda Búsqueda exhaustiva - impráctica Búsqueda greedy haciendo un cambio en cada estado (agregando o borrando un atributo http://en.wikipedia.org/wiki/Greedy_algorithm Otros esquemas: Best-first, beam search 39
  40. 40. 40
  41. 41. 2. Evaluación de sub-conjuntos Cada candidato es evaluado y comparado con el mejor de acuerdo a cierto criterio de evaluación. Filtro: ● Independiente como el C4.5 ● Características de los Envoltura: datos ● Dependiente del algoritmo. ● Se usa la evaluación del ● algoritmo de aprendizaje. ● Costo computacional alto 41
  42. 42. Filtros: rankeoMedidas de distancia, de información. Ejemplos: Ganancia de información. Basado en instancias. Se muestrea aleatoriamente una instancia, se ubica a los vecinos cercanos (misma clase y opuesta). a b c d f g cons a b c d f g cons a b c d f e cons a b c d f e vocalIrrelevante, se decrementa Relevante, se incrementasu score. su score. 42 Se seleccionan los atributos con pesos positivos
  43. 43. Filtros: sub-conjuntosMedidas de dependencia y de consistencia. Ejemplos: Correlación Consistencia 43
  44. 44. 44
  45. 45. 45
  46. 46. 3. Criterio de paro Determina cuándo el proceso de selección debe parar. No hay mejora Límite: al agregar o No. de atributos eliminar un atributo No. iteraciones Se selecciona un Búsqueda sub-conjunto bueno completa 46
  47. 47. 4. Validación de resultados Probar con los datos/algoritmos de la aplicación de tu interés 47
  48. 48. Actividades 1 Aplica la selección de atributos usando CfsSubsetEval. Datos: car, adult y mushroom 1. Selecciona atributos usando CfsSubsetEval y búsqueda GreedyStepwise. Evalúa con use full training set y con cross-validation. 2. Interpreta los resultados: ¿son los mismos atributos significativos?¿Por qué? 3. Selecciona atributos usando Relief. 4. Interpreta los resultados. ¿Cuál es la diferencia en la salida con respecto a CfsSubsetEval? 48
  49. 49. Actividades 2Aplica la selección de atributos usando WrapperSubsetEvalDatos: 1.Selecciona atributos con WrapperSubsetEval, J48 y GreedyStepwise. Evalúa con el conjunto completo y cross- validation. 2.Interpreta los resultados. Compara con los resultados del ejercicio anterior. 3.Selecciona atributos con un filtro para atributos individuales, elimina los atributos. Corre un árbol J48 con el archivo resultante. 4.Repite pero ahora haz el proceso con J48. ¿Son los mismos atributos? ¿Con cuál conjunto es mejor la evaluación? 49
  50. 50. Referencias[Bouckaert et al., 2010] Bouckaert, R. R., Frank, E., Hall, M. A., Holmes, G., Pfahringer, B., Reutemann, P., andWitten, I. H. (2010). WEKA–experiences with a java open-source project. Journal of Machine Learning Research, 11:2533– 2541.[Hall et al., 2009] Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., and Witten, I. H. (2009). The WEKA data mining software: an update. SIGKDD Explorations Newsletter, 11:10–18.[Witten et al., 2011] Witten, I., Frank, E., and Hall, M. (2011). Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann series in data management systems. Elsevier Science & Technology 50
  51. 51. Referencias[Hall and Holmes, 2003] Hall, M. A. and Holmes, G. (2003). Benchmarking attribute selection techniques for discrete class data mining. IEEE Transactions on Knowledge and Data Engineering, 15(6):1437–1447.[Liu and Yu, 2005] Liu, H. and Yu, L. (2005). Toward integrating feature selection algorithms for classification and clustering. IEEE Transactions on Knowledge and Data Engineering, 17:491–502[Guyon and ElisseeU, 2003] Guyon, I. and ElisseeU, A. (2003). An introduction to variable and feature selection. Journal of Machine Learning Research, 3:1157– 1182.. 51
  52. 52. Imágenes Mapa Nueva Zelanda http://www.flickr.com/photos/duncan/478984969/in/photostream/ Wekas http://www.flickr.com/photos/61897811@N00/367600536/ Acumulado http://www.flickr.com/photos/99796131@N00/347158515/ Botellas http://www.flickr.com/photos/96547648@N00/237795761/ Expertos http://www.flickr.com/photos/35034348187@N01/35555985/ Carrera http://www.flickr.com/photos/97449017@N00/289473278/ Ollas http://www.flickr.com/photos/12519225@N03/2263693205/ 52
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×