27.12.2014 Views

Método de Naïve Bayes

Método de Naïve Bayes

Método de Naïve Bayes

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Aprendizaje Supervisado<br />

Clasificación <strong>Bayes</strong>iana<br />

(Método <strong>de</strong> Naïve <strong>Bayes</strong>)


10<br />

10<br />

Mo<strong>de</strong>lo general <strong>de</strong> los métodos <strong>de</strong> Clasificación<br />

|Id Reembolso Estado<br />

Civil<br />

Ingresos<br />

Anuales<br />

1 Sí Soltero 125K No<br />

Frau<strong>de</strong><br />

Algoritmo <strong>de</strong><br />

Aprendizaje<br />

2 No Casado 100K No<br />

3 No Soltero 70K No<br />

4 Sí Casado 120K No<br />

Generar<br />

el<br />

Mo<strong>de</strong>lo<br />

5 No<br />

Divorcia<br />

do<br />

95K<br />

Sí<br />

6 No Casado 60K No<br />

Tabla <strong>de</strong> Aprendizaje<br />

Mo<strong>de</strong>lo<br />

Id Reembolso Estado<br />

Civil<br />

Ingresos<br />

Anuales<br />

7 No Soltero 80K No<br />

8 Si Casado 100K No<br />

9 No Soltero 70K No<br />

Tabla <strong>de</strong> Testing<br />

Frau<strong>de</strong><br />

Evaluar<br />

Aplicar<br />

el<br />

Mo<strong>de</strong>lo<br />

Nuevos<br />

Individuos


Definición <strong>de</strong> Clasificación<br />

Dada una base <strong>de</strong> datos D = {t 1 , t 2 , … , t n } <strong>de</strong> tuplas o registros<br />

(individuos) y un conjunto <strong>de</strong> clases C = {C 1 , C 2 , … , C m }, el<br />

problema <strong>de</strong> la clasificación es encontrar una función f: D → C<br />

tal que cada t i es asignada una clase C j .<br />

f: D → C podría ser una Red Neuronal, un Árbol <strong>de</strong> Decisión, un<br />

mo<strong>de</strong>lo basado en Análisis Discriminante, o una Red Beyesiana.


Ejemplo: Créditos en un Banco<br />

Tabla <strong>de</strong> Aprendizaje<br />

Variable<br />

Discriminante<br />

Con la Tabla <strong>de</strong> Aprendizaje se entrena (apren<strong>de</strong>) el mo<strong>de</strong>lo matemático <strong>de</strong><br />

predicción, es <strong>de</strong>cir, a partir <strong>de</strong> esta tabla se calcula la función f <strong>de</strong> la <strong>de</strong>finición<br />

anterior.


Ejemplo: Créditos en un Banco<br />

Tabla <strong>de</strong> Testing<br />

Variable<br />

Discriminante<br />

• Con la Tabla <strong>de</strong> Testing se valida el mo<strong>de</strong>lo matemático <strong>de</strong> predicción, es <strong>de</strong>cir, se<br />

verifica que los resultados en individuos que no participaron en la construcción <strong>de</strong>l<br />

mo<strong>de</strong>lo es bueno o aceptable.<br />

• Algunas veces, sobre todo cuando hay pocos datos, se utiliza la Tabla <strong>de</strong><br />

Aprendizaje también como <strong>de</strong> Tabla Testing.


Ejemplo: Créditos en un Banco<br />

Nuevos Individuos<br />

Variable<br />

Discriminante<br />

Con la Tabla <strong>de</strong> Nuevos Individuos se predice si estos serán o no buenos<br />

pagadores.


Cálculo <strong>de</strong> Probabilida<strong>de</strong>s<br />

Tomado <strong>de</strong>l libro: Probabilidad y estadística para ingenieros - R. Walpole, R. Myers


Probabilidad Condicional<br />

Ejemplo: Se lanza un dado y se tienen los siguientes eventos:<br />

A: Se observa un número impar.<br />

B: Se observa un 1.<br />

P(B)=1/6 pues solo hay un caso favorable {1} y hay 6 casos posibles {1,2,3,4,5,6}<br />

P(B|A)=1/3 pues solo hay un caso favorable {1} y hay únicamente 3 casos posibles {1,3,5},<br />

como ya ocurrió A el dado <strong>de</strong>be ser impar por lo que el universo <strong>de</strong> posibilida<strong>de</strong>s se<br />

reduce a los números impares.<br />

Nótese que AB={1} por lo que P(AB)=1/6, a<strong>de</strong>más P(A)=3/6 pues hay 3 casos<br />

favorables {1,3,5} y 6 casos posibles {1,2,3,4,5,6}.<br />

Entonces:<br />

ESTO SIEMPRE SE CUMPLE


Definición <strong>de</strong> Probabilidad Condicional


Teorema <strong>de</strong> la Probabilidad Total


Teorema <strong>de</strong> la Probabilidad Total


Ejemplo: Cierto artículo es manufacturado por tres fábricas, F1, F2, y F3. Se sabe que la<br />

primera fábrica produce el doble que la segunda, y que la segunda fábrica produce igual<br />

que la tercera. Se sabe a<strong>de</strong>más que el 2% <strong>de</strong> los artículos producidos por las dos<br />

primeras fábricas son <strong>de</strong>fectuosos, mientras que el 4% <strong>de</strong> los artículos producidos por la<br />

tercera fábrica son <strong>de</strong>fectuosos.<br />

Si se colocan todos los artículos en una fila y se escoge uno al azar ¿cuál es la<br />

probabilidad <strong>de</strong> que este artículo sea <strong>de</strong>fectuoso<br />

Solución: Sea S el espacio muestral completo y consi<strong>de</strong>re los siguientes eventos:<br />

B={El artículo es <strong>de</strong>fectuoso}<br />

A 1 ={El artículo fue fabricado en F1}<br />

A 2 ={El artículo fue fabricado en F2}<br />

A 3 ={El artículo fue fabricado en F3}<br />

Nótese que S = A 1 ∪ A 2 ∪ A 3 , entonces:<br />

P B = P B A 1 P A 1 + P B A 2 P A 2 + P B A 3 P A 3<br />

P B = 2<br />

100 ∙ 1 2 + 2<br />

100 ∙ 1 4 + 4<br />

100 ∙ 1 4 = 5<br />

200 = 0,025


Teorema <strong>de</strong> Naïve <strong>Bayes</strong>


Ejemplo: Siguiendo con el ejemplo anterior, supóngase que se escoge un artículo al azar<br />

y que este resulta <strong>de</strong>fectuoso. ¿Cuál es la probabilidad <strong>de</strong> que este artículo haya sido<br />

producido en la primera fabrica<br />

Solución: Deseamos calcular P(A 1 |B), usando el Teorema <strong>de</strong> Naïve <strong>Bayes</strong>, esto es:<br />

P A 1 B = P(B|A 1) ∙ P(A 1 )<br />

3<br />

P(B|A j ) ∙ P(A j )<br />

j =1<br />

=<br />

P(B|A 1 ) ∙ P(A 1 )<br />

P B A 1 P A 1 + P B A 2 P A 2 + P B A 3 P A 3<br />

P A 1 B =<br />

2<br />

100 ∙ 1 2<br />

2<br />

100 ∙ 1 2 + 2<br />

100 ∙ 1 4 + 4<br />

100 ∙ 1 4 = 5<br />

200<br />

= 0,01<br />

0,025 = 0,4


Eventos In<strong>de</strong>pendientes


Ejemplo: Créditos en un Banco<br />

Dada esta <strong>de</strong> Aprendizaje pre<strong>de</strong>cir para los siguientes<br />

individuos si van a ser buenos o malos pagadores.


Ejemplo: Créditos en un Banco<br />

Nuevos Individuos<br />

• Se tiene una nueva fila <strong>de</strong> la base <strong>de</strong> datos t = (100,2,4,2,2,3,).<br />

• El problema es: a partir <strong>de</strong> la tabla <strong>de</strong> aprendizaje y usando<br />

Clasificación <strong>Bayes</strong>iana pre<strong>de</strong>cir si el individuo #100<br />

correspon<strong>de</strong> a un buen pagador o a un mal pagador.<br />

• Lo que se hace en estos caso es calcular P(Bueno|t) y P(Malo|t)<br />

para <strong>de</strong>terminar cuál es mayor, don<strong>de</strong> por bueno se entien<strong>de</strong><br />

que la variable BuenPagador=1 y por malo que BuenPagador=2.<br />

• Hay que hacer los mismo con el #101 y el #102 TAREA.


Ejemplo <strong>de</strong> Clasificación <strong>Bayes</strong>iana<br />

P Bueno t =<br />

P(t|Bueno) ∙ P(Bueno)<br />

P t Bueno ∙ P Bueno + P t Malo ∙ P Malo<br />

P Bueno = 6 10 y P Malo = 4 10<br />

Como t = (100,2,4,2,2,3,), este es un evento que correspon<strong>de</strong> realmente a 5 eventos<br />

in<strong>de</strong>pendientes, ser MontoCredito=2, IngresoNeto=4, CoeficienteCreditoAvaluo=2,<br />

MontoCuota=2 y GradoAca<strong>de</strong>mico=3. Así:<br />

P t Bueno<br />

= P (MontoCredito = 2) Bueno ∙ P IngresoNeto = 4 Bueno<br />

∙ P CoeficienteCreditoAvaluo = 2 Bueno ∙ P (MontoCuota = 2 ) Bueno<br />

∙ P (GradoAca<strong>de</strong>mico = 3) Bueno = 2 6 ∙ 4 6 ∙ 2 6 ∙ 1 6 ∙ 1 6 = 16<br />

7776 = 0,002.


Ejemplo <strong>de</strong> Clasificación <strong>Bayes</strong>iana<br />

P t Malo<br />

= P (MontoCredito = 2) Malo ∙ P IngresoNeto = 4 Malo<br />

∙ P CoeficienteCreditoAvaluo = 2 Malo ∙ P (MontoCuota = 2 ) Malo<br />

∙ P (GradoAca<strong>de</strong>mico = 3) Malo = 0 4 ∙ 0 4 ∙ 0 4 ∙ 0 4 ∙ 0 4 = 0.<br />

P Bueno t =<br />

16<br />

P(t|Bueno) ∙ P(Bueno)<br />

P t Bueno ∙ P Bueno + P t Malo ∙ P Malo = 7776 ∙ 6<br />

10<br />

= 1<br />

16<br />

7776 ∙ 6<br />

10 + 0 ∙ 4<br />

10<br />

Por lo que P Malo t = 0. Pero lo vamos a verificar:<br />

P Malo t =<br />

P(t|Malo) ∙ P(Malo)<br />

P t Bueno ∙ P Bueno + P t Malo ∙ P Malo =<br />

0 ∙<br />

4<br />

10<br />

16<br />

7776 ∙ 6<br />

10 + 0 ∙ 4<br />

10<br />

Por lo que claramente el individuo #100 tiene una probabilidad máxima <strong>de</strong> ser un buen pagador.<br />

= 0.


Naïve <strong>Bayes</strong> en R<br />

Paquete ‘e1071’<br />

## Instalación y carga<br />

install.packages('e1071', <strong>de</strong>pen<strong>de</strong>ncies = TRUE)<br />

library(class)<br />

library(e1071)


Ejemplo 1: IRIS.CSV<br />

Ejemplo con la tabla <strong>de</strong> datos IRIS<br />

IRIS Información <strong>de</strong> variables:<br />

1.sepal largo en cm<br />

2.sepal ancho en cm<br />

3.petal largo en cm<br />

4.petal ancho en cm<br />

5.clase:<br />

• Iris Setosa<br />

• Iris Versicolor<br />

• Iris Virginica


library(scatterplot3d)<br />

> scatterplot3d(datos$p.ancho,datos$s.largo,datos$s.ancho)


library(rgl)<br />

> D heatmap(D)


Ejemplo 1: iris.csv


Ejemplo 2:<br />

Credit-Scoring<br />

MuestraAprendizajeCredito2500.csv<br />

MuestraTestCredito2500.csv


Descripción <strong>de</strong> Variables<br />

MontoCredito<br />

MontoCuota<br />

1= Muy Bajo 1 =Muy Bajo<br />

2= Bajo 2 =Bajo<br />

3= Medio 3 =Medio<br />

4= Alto 4 =Alto<br />

IngresoNeto<br />

GradoAca<strong>de</strong>mico<br />

1= Muy Bajo 1 =Bachiller<br />

2= Bajo 2 =Licenciatura<br />

3= Medio 3 =Maestría<br />

4= Alto 4 =Doctorado<br />

CoeficienteCreditoAvaluo BuenPagador<br />

1= Muy Bajo 1 =NO<br />

2= Bajo 2 =Si<br />

3= Medio<br />

4= Alto


Gracias….

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!