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
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
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
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
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