SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
Introducción a árboles y
selección de atributos usando
           WEKA


                           Blanca A. Vargas Govea
                      blanca.vargas@cenidet.edu.mx
               Grupo de Sistemas de Recomendación
                                           cenidet
                                   Marzo 29, 2012
Contenido



                          El origen
  1     Introducción
                          Interfaces

  2     Clasificadores: árboles


  3     Selección de atributos


                                       2
Introducción




               3
¿Qué es WEKA?




                4
¿Qué es WEKA?


  W aikato
  E nvironment for
  K nowledge
  A nalysis

                Plataforma de prueba para
                aprendizaje automático
                                         5
Nueva
Zelanda




    6
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
¿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
¿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
¿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
¿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
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.
Explorer: preprocess




                       13
Clasificadores: Árboles




                          14
Clasificadores

Algoritmo/Sistema que asigna un valor de clase
a una instancia compuesta por ciertos atributos o
características.

         Color      Tamaño    Forma      Clase
         rojo       mediano   redonda    manzana
         verde      chico     redonda    limón
         amarillo   mediano   alargada   plátano




                                                   15
Clasificadores




                 16
Tabla de outlook




                   17
Árboles



                         outlook
             sunny                          rainy
                                overcast

         humidity             yes             windy
  high               normal          true              false


    no          yes                  no               yes


                                                               18
Árboles

1.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
Árboles




          ¿Cómo se construyó el árbol?




                                         20
Árboles
Enfoque: 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
Á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
Árboles: ganancia de información

Buscamos un atributo que nos de la mayor
ganancia de información para tomar una
decisión.


Ganancia de información. Probabilidad de que
un ejemplo del conjunto pertenezca a cierta
clase.


                                               23
Árboles: entropía


Entropía. Información necesaria para clasificar un
ejemplo. Se asocia a la pureza/impureza de una
variable.

En un conjunto con alta entropía es más difícil
predecir el valor de clase.

                                   m
                    Entropía(S )=∑ p j log 2 p j
                                   j=1



                                                   24
Á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
Á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/14


info(play|outlook) = 5/14 (0.971) + 4/14(0) + 5/14(0.971) = 0.693 bits


                                                                   26
Á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
Á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
Á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
Práctica

1.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
Selección de atributos




                         31
¿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
¿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
¿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
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
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
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
1. Generación de sub-conjuntos: búsqueda
Cada estado en el espacio define un sub-conjunto candidato.




                                                       38
     Dirección de la búsqueda: forward y backward
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
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
Filtros: rankeo
Medidas 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 vocal
Irrelevante, se decrementa   Relevante, se incrementa
su score.                    su score.
                                                           42
    Se seleccionan los atributos con pesos positivos
Filtros: sub-conjuntos
Medidas de dependencia y de consistencia. Ejemplos:


                                        Correlación




                                        Consistencia




                                                       43
44
45
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
4. Validación de resultados




            Probar con los datos/algoritmos
            de la aplicación de tu interés




                                              47
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
Actividades 2
Aplica la selección de atributos usando WrapperSubsetEval
Datos:
  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
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
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
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

Weitere ähnliche Inhalte

Ähnlich wie Taller weka

ÁRBOLES DE CLASIFICACIÓN
ÁRBOLES DE CLASIFICACIÓNÁRBOLES DE CLASIFICACIÓN
ÁRBOLES DE CLASIFICACIÓNRaquel Solano
 
teim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdfteim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdfngduyh1
 
Poggi analytics - trees - 1e
Poggi   analytics - trees - 1ePoggi   analytics - trees - 1e
Poggi analytics - trees - 1eGaston Liberman
 
Árboles de decisión, medidas de impurezas, overfitting.pptx
Árboles de decisión, medidas de impurezas, overfitting.pptxÁrboles de decisión, medidas de impurezas, overfitting.pptx
Árboles de decisión, medidas de impurezas, overfitting.pptxGinoCerna
 
Pass - Algoritmos de clasificacion
Pass - Algoritmos de clasificacionPass - Algoritmos de clasificacion
Pass - Algoritmos de clasificacionFabricio Quintanilla
 
Aprendizaje automático I - Sesión 2 Caso Práctico.pdf
Aprendizaje automático I - Sesión 2 Caso Práctico.pdfAprendizaje automático I - Sesión 2 Caso Práctico.pdf
Aprendizaje automático I - Sesión 2 Caso Práctico.pdfGerard Alba
 
Métodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De Crédito
Métodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De CréditoMétodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De Crédito
Métodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De CréditoDMC Perú
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptxRam Vazquez
 
Algoritmos de Clasificación
Algoritmos de ClasificaciónAlgoritmos de Clasificación
Algoritmos de ClasificaciónUTPL
 
Ejercicio weka
Ejercicio wekaEjercicio weka
Ejercicio wekaeveliad
 
Árboles de Clasificación
Árboles de ClasificaciónÁrboles de Clasificación
Árboles de ClasificaciónMaricela Loarte
 

Ähnlich wie Taller weka (14)

Mineríade datos
Mineríade datosMineríade datos
Mineríade datos
 
ÁRBOLES DE CLASIFICACIÓN
ÁRBOLES DE CLASIFICACIÓNÁRBOLES DE CLASIFICACIÓN
ÁRBOLES DE CLASIFICACIÓN
 
teim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdfteim_sesion_007_14_15.pdf
teim_sesion_007_14_15.pdf
 
Poggi analytics - trees - 1e
Poggi   analytics - trees - 1ePoggi   analytics - trees - 1e
Poggi analytics - trees - 1e
 
Árboles de decisión, medidas de impurezas, overfitting.pptx
Árboles de decisión, medidas de impurezas, overfitting.pptxÁrboles de decisión, medidas de impurezas, overfitting.pptx
Árboles de decisión, medidas de impurezas, overfitting.pptx
 
Pass - Algoritmos de clasificacion
Pass - Algoritmos de clasificacionPass - Algoritmos de clasificacion
Pass - Algoritmos de clasificacion
 
Aprendizaje automático I - Sesión 2 Caso Práctico.pdf
Aprendizaje automático I - Sesión 2 Caso Práctico.pdfAprendizaje automático I - Sesión 2 Caso Práctico.pdf
Aprendizaje automático I - Sesión 2 Caso Práctico.pdf
 
Métodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De Crédito
Métodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De CréditoMétodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De Crédito
Métodos Predictivos: Aplicación a la Detección de Fraudes en Tarjetas De Crédito
 
3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx3.1 Representación de conocimiento mediante reglas.pptx
3.1 Representación de conocimiento mediante reglas.pptx
 
Algoritmos de Clasificación
Algoritmos de ClasificaciónAlgoritmos de Clasificación
Algoritmos de Clasificación
 
IntroduccionPOO
IntroduccionPOOIntroduccionPOO
IntroduccionPOO
 
Ejercicio weka
Ejercicio wekaEjercicio weka
Ejercicio weka
 
S0intro
S0introS0intro
S0intro
 
Árboles de Clasificación
Árboles de ClasificaciónÁrboles de Clasificación
Árboles de Clasificación
 

Mehr von Blanca Alicia Vargas Govea

Una Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de SoftwareUna Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de SoftwareBlanca Alicia Vargas Govea
 
Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica MóvilAprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica MóvilBlanca Alicia Vargas Govea
 
Aprendizaje de reglas para un sistema de recomendación contextual
Aprendizaje de reglas para un sistema de recomendación  contextualAprendizaje de reglas para un sistema de recomendación  contextual
Aprendizaje de reglas para un sistema de recomendación contextualBlanca Alicia Vargas Govea
 
Aprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendaciónAprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendaciónBlanca Alicia Vargas Govea
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Blanca Alicia Vargas Govea
 
Learning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of ActionsLearning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of ActionsBlanca Alicia Vargas Govea
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Blanca Alicia Vargas Govea
 
Sistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluaciónSistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluaciónBlanca Alicia Vargas Govea
 

Mehr von Blanca Alicia Vargas Govea (12)

Introducción a R - con minería de datos
Introducción a R - con minería de datosIntroducción a R - con minería de datos
Introducción a R - con minería de datos
 
Una Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de SoftwareUna Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de Software
 
In10years
In10yearsIn10years
In10years
 
Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica MóvilAprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil
 
Aprendizaje de reglas para un sistema de recomendación contextual
Aprendizaje de reglas para un sistema de recomendación  contextualAprendizaje de reglas para un sistema de recomendación  contextual
Aprendizaje de reglas para un sistema de recomendación contextual
 
Aprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendaciónAprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendación
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...
 
Evaluando sistemas de recomendación
Evaluando sistemas de recomendaciónEvaluando sistemas de recomendación
Evaluando sistemas de recomendación
 
R: Taller de Introducción
R: Taller de IntroducciónR: Taller de Introducción
R: Taller de Introducción
 
Learning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of ActionsLearning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of Actions
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...
 
Sistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluaciónSistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluación
 

Taller weka

  • 1. Introducción a árboles y selecció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. Contenido El origen 1 Introducción Interfaces 2 Clasificadores: árboles 3 Selección de atributos 2
  • 5. ¿Qué es WEKA? W aikato E nvironment for K nowledge A nalysis Plataforma de prueba para aprendizaje automático 5
  • 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. ¿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. ¿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. ¿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. ¿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. 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.
  • 15. Clasificadores Algoritmo/Sistema que asigna un valor de clase a una instancia compuesta por ciertos atributos o características. Color Tamaño Forma Clase rojo mediano redonda manzana verde chico redonda limón amarillo mediano alargada plátano 15
  • 18. Árboles outlook sunny rainy overcast humidity yes windy high normal true false no yes no yes 18
  • 19. Árboles 1.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. Árboles ¿Cómo se construyó el árbol? 20
  • 21. Árboles Enfoque: 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. Á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. Árboles: ganancia de información Buscamos un atributo que nos de la mayor ganancia de información para tomar una decisión. Ganancia de información. Probabilidad de que un ejemplo del conjunto pertenezca a cierta clase. 23
  • 24. Árboles: entropía Entropía. Información necesaria para clasificar un ejemplo. Se asocia a la pureza/impureza de una variable. En un conjunto con alta entropía es más difícil predecir el valor de clase. m Entropía(S )=∑ p j log 2 p j j=1 24
  • 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. Á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/14 info(play|outlook) = 5/14 (0.971) + 4/14(0) + 5/14(0.971) = 0.693 bits 26
  • 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. Á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. Á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. Práctica 1.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
  • 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. ¿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. ¿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. 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. 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. 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. 1. Generación de sub-conjuntos: búsqueda Cada estado en el espacio define un sub-conjunto candidato. 38 Dirección de la búsqueda: forward y backward
  • 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
  • 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. Filtros: rankeo Medidas 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 vocal Irrelevante, se decrementa Relevante, se incrementa su score. su score. 42 Se seleccionan los atributos con pesos positivos
  • 43. Filtros: sub-conjuntos Medidas de dependencia y de consistencia. Ejemplos: Correlación Consistencia 43
  • 44. 44
  • 45. 45
  • 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. 4. Validación de resultados Probar con los datos/algoritmos de la aplicación de tu interés 47
  • 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. Actividades 2 Aplica la selección de atributos usando WrapperSubsetEval Datos: 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. 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. 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. 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