Clasificación Bayesiana (Método de Naïve Bayes) · Definición de Probabilidad Condicional ....
Transcript of Clasificación Bayesiana (Método de Naïve Bayes) · Definición de Probabilidad Condicional ....
Aprendizaje Supervisado Clasificación Bayesiana
(Método de Naïve Bayes)
Modelo general de los métodos de Clasificación
|Id Reembolso Estado Civil
Ingresos Anuales Fraude
1 Sí Soltero 125K No
2 No Casado 100K No
3 No Soltero 70K No
4 Sí Casado 120K No
5 No Divorciado
95K Sí
6 No Casado 60K No 10
Tabla de Aprendizaje
Id Reembolso Estado Civil
Ingresos Anuales Fraude
7 No Soltero 80K No
8 Si Casado 100K No
9 No Soltero 70K No 10
Tabla de Testing
Generar el
Modelo
Aplicar el
Modelo
Modelo
Algoritmo de Aprendizaje
Nuevos Individuos
Evaluar
Definición de Clasificación
Dada una base de datos 𝐷 = {𝑡1, 𝑡2, … , 𝑡𝑛} de tuplas o registros
(individuos) y un conjunto de clases 𝐶 = {𝐶1, 𝐶2, … , 𝐶𝑚 }, el
problema de la clasificación es encontrar una función 𝑓: 𝐷 → 𝐶
tal que cada 𝑡𝑖 es asignada una clase 𝐶𝑗 .
𝑓: 𝐷 → 𝐶 podría ser una Red Neuronal, un Árbol de Decisión, un
modelo basado en Análisis Discriminante, o una Red Beyesiana.
Ejemplo: Créditos en un Banco Tabla de Aprendizaje
Con la Tabla de Aprendizaje se entrena (aprende) el modelo matemático de predicción, es decir, a partir de esta tabla se calcula la función f de la definición anterior.
Variable Discriminante
Ejemplo: Créditos en un Banco Tabla de Testing
• Con la Tabla de Testing se valida el modelo matemático de predicción, es decir, se verifica que los resultados en individuos que no participaron en la construcción del modelo es bueno o aceptable.
• Algunas veces, sobre todo cuando hay pocos datos, se utiliza la Tabla de Aprendizaje también como de Tabla Testing.
Variable Discriminante
Ejemplo: Créditos en un Banco Nuevos Individuos
Con la Tabla de Nuevos Individuos se predice si estos serán o no buenos pagadores.
Variable Discriminante
Cálculo de Probabilidades Tomado del libro: Probabilidad y estadística para ingenieros - R. Walpole, R. Myers
Probabilidad Condicional
Ejemplo: Se lanza un dado y se tienen los siguientes eventos: A: Se observa un número impar. B: Se observa un 1. P(B)=1/6 pues solo hay un caso favorable {1} y hay 6 casos posibles {1,2,3,4,5,6} P(B|A)=1/3 pues solo hay un caso favorable {1} y hay únicamente 3 casos posibles {1,3,5}, como ya ocurrió A el dado debe ser impar por lo que el universo de posibilidades se reduce a los números impares. Nótese que AB={1} por lo que P(AB)=1/6, además P(A)=3/6 pues hay 3 casos favorables {1,3,5} y 6 casos posibles {1,2,3,4,5,6}. Entonces: ESTO SIEMPRE SE CUMPLE
Definición de Probabilidad Condicional
Teorema de la Probabilidad Total
Teorema de la Probabilidad Total
Ejemplo: Cierto artículo es manufacturado por tres fábricas, F1, F2, y F3. Se sabe que la
primera fábrica produce el doble que la segunda, y que la segunda fábrica produce igual
que la tercera. Se sabe además que el 2% de los artículos producidos por las dos
primeras fábricas son defectuosos, mientras que el 4% de los artículos producidos por la
tercera fábrica son defectuosos.
Si se colocan todos los artículos en una fila y se escoge uno al azar ¿cuál es la
probabilidad de que este artículo sea defectuoso?
Solución: Sea S el espacio muestral completo y considere los siguientes eventos:
B={El artículo es defectuoso}
A1={El artículo fue fabricado en F1}
A2={El artículo fue fabricado en F2}
A3={El artículo fue fabricado en F3}
Nótese que 𝑆 = 𝐴1 ∪ 𝐴2 ∪ 𝐴3, entonces:
𝑃 𝐵 = 𝑃 𝐵 𝐴1 𝑃 𝐴1 + 𝑃 𝐵 𝐴2 𝑃 𝐴2 + 𝑃 𝐵 𝐴3 𝑃 𝐴3
𝑃 𝐵 =2
100∙
1
2+
2
100∙
1
4+
4
100∙
1
4=
5
200= 0,025
Teorema de Naïve Bayes
Ejemplo: Siguiendo con el ejemplo anterior, supóngase que se escoge un artículo al azar
y que este resulta defectuoso. ¿Cuál es la probabilidad de que este artículo haya sido
producido en la primera fabrica?
Solución: Deseamos calcular 𝑃(𝐴1|𝐵), usando el Teorema de Naïve Bayes, esto es:
𝑃 𝐴1 𝐵 =𝑃(𝐵|𝐴1) ∙ 𝑃(𝐴1)
𝑃(𝐵|𝐴𝑗 ) ∙ 𝑃(𝐴𝑗 )3𝑗=1
=𝑃(𝐵|𝐴1) ∙ 𝑃(𝐴1)
𝑃 𝐵 𝐴1 𝑃 𝐴1 + 𝑃 𝐵 𝐴2 𝑃 𝐴2 + 𝑃 𝐵 𝐴3 𝑃 𝐴3
𝑃 𝐴1 𝐵 =
2100 ∙
12
2100 ∙
12 +
2100 ∙
14 +
4100 ∙
14 =
5200
=0,01
0,025= 0,4
Eventos Independientes
Ejemplo: Créditos en un Banco
Dada esta de Aprendizaje predecir para los siguientes individuos si van a ser buenos o malos pagadores.
Ejemplo: Créditos en un Banco Nuevos Individuos
• Se tiene una nueva fila de la base de datos t = (100,2,4,2,2,3,?). • El problema es: a partir de la tabla de aprendizaje y usando
Clasificación Bayesiana predecir si el individuo #100 corresponde a un buen pagador o a un mal pagador.
• Lo que se hace en estos caso es calcular P(Bueno|t) y P(Malo|t) para determinar cuál es mayor, donde por bueno se entiende que la variable BuenPagador=1 y por malo que BuenPagador=2.
• Hay que hacer los mismo con el #101 y el #102 TAREA.
Ejemplo de Clasificación Bayesiana
𝑃 𝐵𝑢𝑒𝑛𝑜 𝑡 =𝑃(𝑡|𝐵𝑢𝑒𝑛𝑜) ∙ 𝑃(𝐵𝑢𝑒𝑛𝑜)
𝑃 𝑡 𝐵𝑢𝑒𝑛𝑜 ∙ 𝑃 𝐵𝑢𝑒𝑛𝑜 + 𝑃 𝑡 𝑀𝑎𝑙𝑜 ∙ 𝑃 𝑀𝑎𝑙𝑜
𝑃 𝐵𝑢𝑒𝑛𝑜 =6
10 𝑦 𝑃 𝑀𝑎𝑙𝑜 =
4
10
Como t = (100,2,4,2,2,3,?), este es un evento que corresponde realmente a 5 eventos
independientes, ser MontoCredito=2, IngresoNeto=4, CoeficienteCreditoAvaluo=2,
MontoCuota=2 y GradoAcademico=3. Así:
𝑃 𝑡 𝐵𝑢𝑒𝑛𝑜
= 𝑃 (MontoCredito = 2) 𝐵𝑢𝑒𝑛𝑜 ∙ 𝑃 IngresoNeto = 4 𝐵𝑢𝑒𝑛𝑜
∙ 𝑃 CoeficienteCreditoAvaluo = 2 𝐵𝑢𝑒𝑛𝑜 ∙ 𝑃 (MontoCuota = 2 ) 𝐵𝑢𝑒𝑛𝑜
∙ 𝑃 (GradoAcademico = 3) 𝐵𝑢𝑒𝑛𝑜 =2
6∙
4
6∙
2
6∙
1
6∙
1
6=
16
7776= 0,002.
Ejemplo de Clasificación Bayesiana 𝑃 𝑡 𝑀𝑎𝑙𝑜
= 𝑃 (MontoCredito = 2) 𝑀𝑎𝑙𝑜 ∙ 𝑃 IngresoNeto = 4 𝑀𝑎𝑙𝑜
∙ 𝑃 CoeficienteCreditoAvaluo = 2 𝑀𝑎𝑙𝑜 ∙ 𝑃 (MontoCuota = 2 ) 𝑀𝑎𝑙𝑜
∙ 𝑃 (GradoAcademico = 3) 𝑀𝑎𝑙𝑜 =0
4∙
0
4∙
0
4∙
0
4∙
0
4= 0.
𝑃 𝐵𝑢𝑒𝑛𝑜 𝑡 =𝑃(𝑡|𝐵𝑢𝑒𝑛𝑜) ∙ 𝑃(𝐵𝑢𝑒𝑛𝑜)
𝑃 𝑡 𝐵𝑢𝑒𝑛𝑜 ∙ 𝑃 𝐵𝑢𝑒𝑛𝑜 + 𝑃 𝑡 𝑀𝑎𝑙𝑜 ∙ 𝑃 𝑀𝑎𝑙𝑜 =
167776 ∙
610
167776 ∙
610 + 0 ∙
410
= 1
Por lo que 𝑃 𝑀𝑎𝑙𝑜 𝑡 = 0. Pero lo vamos a verificar:
𝑃 𝑀𝑎𝑙𝑜 𝑡 =𝑃(𝑡|𝑀𝑎𝑙𝑜) ∙ 𝑃(𝑀𝑎𝑙𝑜)
𝑃 𝑡 𝐵𝑢𝑒𝑛𝑜 ∙ 𝑃 𝐵𝑢𝑒𝑛𝑜 + 𝑃 𝑡 𝑀𝑎𝑙𝑜 ∙ 𝑃 𝑀𝑎𝑙𝑜 =
0 ∙4
1016
7776 ∙6
10 + 0 ∙4
10
= 0.
Por lo que claramente el individuo #100 tiene una probabilidad máxima de ser un buen pagador.
Naïve Bayes en R Paquete ‘e1071’
## Instalación y carga
install.packages('e1071', dependencies = TRUE)
library(class)
library(e1071)
Ejemplo 1: IRIS.CSV
Ejemplo con la tabla de datos IRIS IRIS Información de variables: 1.sepal largo en cm 2.sepal ancho en cm 3.petal largo en cm 4.petal ancho en cm 5.clase:
• Iris Setosa • Iris Versicolor • Iris Virginica
> library(scatterplot3d) > scatterplot3d(datos$p.ancho,datos$s.largo,datos$s.ancho)
> library(rgl) > D <- as.matrix(dist(datos[,1:4])) > heatmap(D)
Ejemplo 1: iris.csv
Ejemplo 2: Credit-Scoring MuestraAprendizajeCredito2500.csv
MuestraTestCredito2500.csv
Descripción de Variables
MontoCredito MontoCuota 1= Muy Bajo 1 =Muy Bajo 2= Bajo 2 =Bajo 3= Medio 3 =Medio 4= Alto 4 =Alto
IngresoNeto GradoAcademico 1= Muy Bajo 1 =Bachiller 2= Bajo 2 =Licenciatura 3= Medio 3 =Maestría 4= Alto 4 =Doctorado
CoeficienteCreditoAvaluo BuenPagador 1= Muy Bajo 1 =NO 2= Bajo 2 =Si 3= Medio 4= Alto
Gracias….