Sei sulla pagina 1di 12

Introduccin a Data Mining

Trabajo Prctico N 3Clasificacin Basada en Reglas Mtodos Bayesianos

Resolucin Ejercicios

1
1. Considerar un problema de clasificacin binaria con el siguiente conjunto de atributos y
correspondientes valores:
o Acondicionador de aire = {funciona, descompuesto}
o Motor = {bien, mal}
o Kilometraje = {alto, medio, bajo}
o Oxido = {si, no}

Suponga que un clasificador basado en reglas produce el siguiente conjunto de Reglas:

r1: Kilometraje = alto Valor = bajo


r2: Kilometraje = bajo Valor = alto
r3: Acondicionador de aire = funciona, Motor = bien Valor = alto
r4: Acondicionador de aire = funciona, Motor = mal Valor = bajo
r5: Acondicionador de aire = descompuesto Valor = bajo

a) Decir si las reglas son mutuamente exclusivas.

Tomando la definicin de Tan et. al (2006)1 pg. 210 (captulo 5)

Reglas Mutuamente Exclusivas: Las reglas en un conjunto de reglas R son


mutuamente exclusivas si no hay dos reglas en R que son activadas (disparadas) por el mismo
registro. Esta propiedad asegura que todo registro est cubierto por a lo sumo una regla R.

Con esta definicin vemos que el conjunto de reglas antedicho NO es mutuamente


exclusivo. Ejemplos:

Un registro dado por (Aire acondicionado = funciona, Motor = bien, Kilometraje =


alto, Oxido = si) activa r1 (resultando en valor bajo) y activa r3 (resultando en valor
alto).
Un registro dado por (Aire acondicionado = descompuesto, Motor = bien, Kilometraje
= alto, Oxido = si) activa r1 (resultando en valor bajo) y activa r5 (resultando tambin
en un valor bajo).

1 Introduction to DATA MINING, Pang-Ning Tan. Michael Steinbach, Vipin Kumar. 2006. Pearson Education.

2
b) Decir si el conjunto de reglas es exhaustivo

Nuevamente de Tan et al. (2006) pg. 210, tenemos:

Reglas Exhaustivas: Un conjunto de reglas R tiene una cobertura exhaustiva si existe


una regla para cada combinacin de valores de atributos. Esta propiedad asegura que cada registro
est cubierto por lo menos una regla en R.

En este caso que tenemos 4 atributos todas sus combinaciones posibles son:

Acondicionador de Aire Motor Oxido Kilometraje Cubierto por las reglas


Funciona Bien Si Alto r1 r3
Funciona Bien Si Medio r3
Funciona Bien Si Bajo r2 r3
Funciona Bien No Alto r1 r3
Funciona Bien No Medio r3
Funciona Bien No Bajo r2 r3
Funciona Mal Si Alto r1 r4
Funciona Mal Si Medio r4
Funciona Mal Si Bajo r2 r4
Funciona Mal No Alto r1 r4
Funciona Mal No Medio r4
Funciona Mal No Bajo r2 r4
Descompuesto Bien Si Alto r1 r5
Descompuesto Bien Si Medio r5
Descompuesto Bien Si Bajo r2 r5
Descompuesto Bien No Alto r1 r5
Descompuesto Bien No Medio r5
Descompuesto Bien No Bajo r2 r5
Descompuesto Mal Si Alto r1 r5
Descompuesto Mal Si Medio r5
Descompuesto Mal Si Bajo r2 r5
Descompuesto Mal No Alto r1 r5
Descompuesto Mal No Medio r5
Descompuesto Mal No Bajo r2 r5

Por lo tanto, este conjunto de reglas es exhaustivo.

3
c) Se requiere un orden para este conjunto de reglas?

Si, dado que las reglas no son mutuamente exclusivas y es posible que un registro
permita la aplicacin (active / dispare) de ms de una regla (ver tabla anterior) necesitamos un
ORDEN para estas reglas.

d) Se necesita una clase default para el conjunto?

NO, dado que el conjunto de reglas es exhaustivo, todo registro tiene garantizada la
existencia de por lo menos una regla que lo cubra. (Nuevamente ver tabla que antecede).

2. El algoritmo RIPPER es una extensin de un algoritmo anterior llamado IREP. Ambos algoritmos
aplican el mtodo de poda de error reducido para determinar si una regla necesita ser podada.
El mtodo de poda de error reducido usa un conjunto de validacin para estimar el error de
generalizacin de un clasificador. Considere le siguiente par de reglas:

R1: A C
R2: A B C

R2 se obtiene agregando un nuevo conjunto B al lado derecho de R 1.


Se deber determinar si R2 es preferible a R1, desde la perspectiva del crecimiento de reglas y
la poda de reglas. Para determinar si una regla debera ser podada, IREP computa la
siguiente medida:

VIREP = (p +(N n)) / (P+N)

Donde P es el nmero total de ejemplos positivos en el conjunto de validacin, N es el nmero total


de ejemplos negativos en el mismo conjunto, p es el nmero de ejemplos positivos en el conjunto
de validacin cubierto por la regla y n es el nmero de ejemplos negativos en el conjunto de
validacin cubierto por la regla. VIREP es similar a la precisin de validacin para el conjunto de
validacin. IREP favorece las reglas que tienen valores ms altos de VIREP. Por otra parte, RIPPER
aplica la siguiente medida para determinar si una regla debera ser podada:

VRIPPER= (p n) / (p + n)

a) Suponer que R1 es cubierta por 350 ejemplos positivos y 150 ejemplos negativos, mientras que
R2 es cubierta por 300 ejemplos positivos y 50 negativos. Computar la ganancia de informacin
de FOIL para la regla R2 con respecto a R1.

La ganancia de informacin de FOIL (Tan et al, 2006) es:

4
1 0
= 1 (2 2 )
1 + 1 0 + 0

Por lo tanto la ganancia de informacin de FOIL para la regla r2 con relacin a r1 es:

300 350
= 300 (2 350 2 500) = 300 (0.222392421336448 +
0.514573172829758) = 300 0.29218075149331 = 87.6542254479931 .

b) Considere un conjunto de validacin que contiene 500 ejemplos positivos y 500 negativos. Para
R1, suponer que el numero de ejemplos positivos cubiertos por la regla es 200 y el nmero de
ejemplos negativos cubiertos es 50. Para R2, suponer que los ejemplos positivos cubiertos es de
100 y el nmero de ejemplos negativos cubiertos es 5. Computar V IREP para ambas reglas. Cules
reglas prefiere IREP?

Para r1, VIREP = (p +(N n)) / (P+N) = (200 + (500 50)) / (500 + 500) = 0.65, mientras que

Para r2, VIREP = (p +(N n)) / (P+N) = (100 + (500 5)) / (500 + 500) = 0.595.

Por lo tanto IREP prefiere la regla r1.

c) Computar VRIPPER para el problema previo. Cules reglas prefiere RIPPER?

Para r1, VRIPPER= (p n) / (p + n) = (200 50) / (200 + 50) = 0.6, mientras que

Para r2, VRIPPER= (p n) / (p + n) = (100 5) / (100 + 5) = 0.90476

Por lo tanto RIPPER prefiere la regla r2.

5
3. C4.5rules es una implementacin de un mtodo indirecto para generar reglas desde un rbol de
decisin. RIPPER es una implementacin de un mtodo directo para generar reglas directamente
desde los datos.

a) Discutir las fortalezas y debilidades de ambos mtodos.

RIPPER: Es un mtodo directo y su algoritmo tiene una complejidad que escala casi
linealmente con la cantidad de muestras de entrenamiento. Es particularmente adecuado para
construir modelos con conjuntos de datos desbalanceados. Trabaja bien con conjuntos con ruido
dado que emplea un conjunto de validacin para controlar el sobre-ajuste.
RIPPER emplea una estrategia de lo general a lo particular para crecer las reglas y la ganancia
de informacin de FOIL para agregar las mejores conjunciones al antecedente de la regla. Deja de
agregar conjunciones cuando la regla empieza a cubrir ejemplos negativos. La nueva regla es
podada basndose en el conjunto de validacin. Luego de generar una regla, todos los ejemplos
positivos y negativos cubiertos por ella son removidos, la regla se agrega al conjunto de reglas
siempre y cuando no viole las condiciones de parada que se basan en el principio MDL (Minimum
description length).
Si bien hay estudios2 que muestran que RIPPER produce conjuntos de reglas ms precisos,
con menor complejidad y en menor tiempo que C4.5rules, su mecanismo de generacin de reglas
de a una a la vez tiende a sesgarse hacia las clases que se generan primero. Por otro lado, un
problema conocido con RIPPER es el denominado de generalizacin apresurada (hasty
generalization) como mencionan Frank y Witten (Generating Accurate Rule Sets Without Global
Optimization):
La estrategia bsica de construir una sola regla y luego podarla puede llevar a una forma
particularmente problemtica de sobre-poda denominada generalizacin apresurada. Esto ocurre
dado que la poda interacta con la heurstica de cobertura. Se realizan generalizacin antes de que
sus implicancias se conozcan, y la heurstica de cobertura luego previene que el algoritmo de
aprendizaje descubra estas implicaciones.

C4.5rules: Es un mtodo indirecto basado en una perspectiva global. Notemos que


siempre es posible generar un conjunto de reglas a partir de un rbol de decisin, en principio
todo camino del nodo raz a un nodo hoja puede ser expresado como una regla de clasificacin.
Las condiciones de testeo encontradas a lo largo del recorrido forman las conjunciones del
antecedente de la regla, mientras que la etiqueta de clase en el nodo hoja es asignada al
consecuente de la regla. El conjunto de reglas generado de esta forma es exhaustivo y contiene
reglas mutuamente excluyentes, aunque pueden ser simplificadas, en ese caso, el conjunto ya no es
mutuamente exclusivo luego de la simplificacin, pero generalmente las reglas podadas son menos
complejas y ms fciles de interpretar.
Al partir de un rbol de decisin, C4.5rules no favorece clases particulares (como podra
ser el caso con RIPPER al ir generando las reglas de a una mediante un algoritmo de cobertura
secuencial). En esencia C4.5rules extrae las reglas de un rbol no podado y luego poda las reglas
empleando una aproximacin pesimista similar a su mtodo de poda de rbol. Asimismo cualquier
regla que no contribuya a la precisin general del conjunto de reglas puede ser tambin podada.

2Ver por ejemplo: Learning Rules From Data - Olcay Taner Yldz and Ethem Alpaydn - Department of Computer Engineering -
Bogazici University. Turquia.

6
Pueden surgir otros problemas durante la etapa de poda toda vez que el conjunto de reglas ya no
es ms mutuamente exclusivo y exhaustivo.

b) Considere un dataset que tiene una gran diferencia en el tamao de clase. Cul mtodo (entre
C4.5rules y RIPPER) es mejor en trminos de hallar reglas de mayor precisin para las clases
pequeas?

Con lo mencionado precedentemente es probable que C4.5rules funcione mejor tanto


en cuanto a la simplicidad de las reglas como a su precisin. Recordemos que para evitar
conflictos despus de la poda (cuando el conjunto ya no es mutuamente exclusivo ni
colectivamente exhaustivo), C4.5rules emplea un esquema de ordenamiento basado en clases,
agrupando juntas todas las reglas para una nica clase y determinando posteriormente un ranking
de estos conjuntos de reglas de clase. Dentro de cada conjunto de reglas, las reglas no estn
ordenadas. C4.5 ordena las reglas de clase de manera de minimizar los falsos positivos (cuando una
regla predice una clase C, pero la clase real no es esa C). La regla de clase con la menor cantidad
de falsos positivos es la primera que se examina. Una vez que la poda esta completa, un control
final se realiza para remover duplicados. Asimismo cuando elije una clase por defecto, C4.5rules
NO elige la clase mayoritaria, debido a que esta clase tendr muchas reglas para sus tuplas. En su
lugar elige la clase que contiene la mayor cantidad de tuplas de entrenamiento que no son
cubiertas por cualquier otra regla.

4. Considere un training set que contiene 100 ejemplos positivos y 400 negativos. Para cada una de
las siguientes reglas candidatas,

R1: A + (cubre 4 ejemplos positivos y 1 negativo)


R2: B + (cubre 30 ejemplos positivos y 10 negativos)
R3: C + (cubre 100 ejemplos positivos y 90 negativos)

Determinar la mejor y la peor regla candidata de acuerdo a:

a) Precisin de la regla (accuracy)

R1 R2 R3
Precisin 4/5 = 0.80 = 0.75 100/190 = 0.5263

Es decir que la mejor regla candidata de acuerdo con la precisin es R 1, y la peor es R3.

b) Ganancia de informacin de FOIL.

Para poder calcularla necesitamos comparar con otra regla, para esto usamos () +, en la
que tenemos p0 = 100 positivos y n0 = 400 negativos. Usamos nuevamente:

7
1 0
= 1 (2 2 )
1 + 1 0 + 0

R1 R2 R3
Ganancia de 4 100 30 100 100 100
4 (2 2 ) 30 (2 2 ) 100 (2 2 )
Informacin de 5 500 40 500 190 500
FOIL = = . = .

Por lo que ahora R3 es la mejor candidata y R1 la peor.

c) El ratio de verosimilitud.


= 2 =1 2 ( )

donde k es el numero de clases, fi es la frecuencia observada de la clase i que estn cubiertos por la
regla, y ei es la frecuencia esperada de la regla que hace una prediccin aleatoria.

Con esto, la frecuencias esperadas para las distintas reglas son:

Regla ei (positivos) ei (negativos)


R1 5 x 100/500 = 1 5 x 400/500 = 4
R2 40 x 100/500 = 8 40 x 400/500 = 32
R3 190 x 100/500 = 38 190 x 400/500 = 152

Y por lo tanto, la razn de verosimilitud para cada regla es:

Regla R
R1 4 1
2 (4 2 (1) + 2 (4)) = 12
R2 30 10
2 (30 2 ( ) + 102 ( )) = 80.852
8 32
R3 100 90
2 (100 2 ( 38 ) + 2 (152)) = 143.092

Por lo que R3 es la mejor candidata y R1 la peor.

8
d) La medida de Laplace.

En este caso:

+ +1
= +

donde n es el numero de ejemplo cubiertos por la regla, f+ es el numero de ejemplos


positivos cubiertos por la regla, y k es el numero de clases. Por lo tanto:

Regla Laplace
R1 4+1 5
= = 0.7143
5+2 7
R2 30 + 1 31
= = 0.7381
40 + 2 42
R3 100 + 1 101
= = 0.526
190 + 2 192

Es decir, R2 es la mejor candidata y R3 la peor.

e) La medida de m-estimacin ( con k = 2 y p+ = 0.2).

En este caso:

+ ++
= +

donde p+ es la probabilidad a priori para la clase positiva.

Regla m-estimacin
R1 4 + 2 0.2
= 0.62857
5+2
R2 30 + 2 0.2
= 0.72381
40 + 2
R3 100 + 2 0.2
= 0.52292
190 + 2

Por lo que con este criterio R2 es la mejor candidata y R3 la peor.

9
5. Suponer que la fraccin de estudiantes no graduados que fuman es 15% y la fraccin de
estudiantes graduados que fuman es 23%. Si 1/5 de los estudiantes son graduados y el resto son
no graduados, Cul es la probabilidad que un estudiante que fuma sea graduado?

F = {Fuman}
G = {Graduado}
NG = {No Graduado}

P(G) = 0.2 y P(NG) = 0.8


P(F| NG) = 0.15 y P(F |G) = 0.23

Queremos saber P(G | F), usando el Teorema de Bayes, tenemos:

( | )() 0.230.2
( | ) = ()
= ()

Ahora bien:

( ) = ( | ) ( ) + ( | ) ( ) = 0.15 0.8 + 0.23 0.2 = 0.166

Es decir:

( | )() 0.23 0.2


( | ) = = = .
() 0.166

6. Dado el dataset siguiente:

a) Estimar las probabilidades condicionales para P(A|+), P(B|+), P(C|+), P(A|-), P(B|-), P(C|-)

10
Usando la visin frecuentista de la probabilidad (casos favorables / casos posibles),
tenemos:

P(A=1|+) = 3/5 P(B=1|+) = 1/5 P(C=1|+) = 4/5 P(A=1|-) = 2/5


P(B=1|-) = 2/5 P(C=1|-) = 5/5

P(A=0|+) = 2/5 P(B=0|+) = 4/5 P(C=0|+) = 1/5 P(A=0|-) = 3/5


P(B=0|-) = 3/5 P(C=0|-) 0

b) Usar las probabilidades condicionales de a) para predecir el rotulo de clase para una nueva
instancia definida por A = 0, B = 1, C= 0 usando Naive Bayes.

() =
=1 ( |)
( |) =
()

En este caso P(X) = P(A=0, B=1, C=0), por lo tanto:

5 2 1 1
(+) (( = 0|+) ( = 1|+) ( = 0|+)) (10)(5)(5)(5)
( + | ) = =
() ()

Mientras que:

5 3 2
() ( ( = 0|) ( = 1|) ( = 0|)) (10)(5)(5)(0)
(|) = =
() ()
=

Por lo tanto se clasifica como +.

c) Estimar las probabilidades condicionales usando m-estimate con p = y m = 4.

Como se vio en el ejemplo anterior, si la probabilidad condicional de clase para alguno de


los atributos es cero, entonces toda la probabilidad posterior para la clase se anula. Es por eso que
en lugar de emplear las fracciones simples se emplea la m-estimacin dada por:

+
( | ) =
+

Donde n es el nmero total de instancias para la clase yj, nc es el nmero de ejemplos de


entrenamiento para la clase yj que toman el valor xi, m es un parmetro conocido como el
equivalente del tamao muestral y p es un parmetro definido por el usuario.

P(A=1|+) = (3+2)/(5+4) = 0.555

11
P(B=1|+) = (1+2)/(5+4) = 0.333
P(C=1|+) = (4+2)/(5+4) = 0.666
P(A=1|-) = (2+2)/(5+4) = 0.444
P(B=1|-) = (2+2)/(5+4) = 0.444
P(C=1|-) = (5+2)/(5+4) = 0.777

P(A=0|+) = (2+2)/(5+4) = 0.444


P(B=0|+) = (4+2)/(5+4) = 0.666
P(C=0|+) = (1+2)/(5+4) = 0.333
P(A=0|-) = (3+2)/(5+4) = 0.555
P(B=0|-) = (3+2)/(5+4) =0.555
P(C=0|-) = (0+2)/(5+4) = 0.222

d) Repetir b) usando las probabilidades condicionales halladas en c).

Ahora tenemos entonces:

5
(+) (( = 0|+) ( = 1|+) ( = 0|+)) (10)(0.444)(0.333)(0.333)
(+|) = =
() ()
0.02469
=
()

Y
5
() (( = 0|) ( = 1|) ( = 0|)) (10)(0.555)(0.444)(0.222)
(|) = =
() ()
0.02738
=
()

Es decir, se lo clasificara como -.

e) Comparar los dos mtodos.

Generalmente la aproximacin por m-estimacin provee una forma mas robusta de estimar
las probabilidades cuando el numero de casos de entrenamiento es pequeo. (Tan et. al, pg. 237).

12

Potrebbero piacerti anche